Деякі двовимірні езоланг, такі як Forked та деякі не-езоланги, такі як Python , іноді потребують пробілів перед рядками коду. Це не дуже сильно. Крім того, я лінивий і пишу 2d-язик, який потребує багато пробілів перед кодом. Ваше завдання - написати інструмент, який робить ці мови гольфістами.
Звичайно, це не буде ідеально; його не можна використовувати, наприклад, коли число є першим символом у рядку джерела. Однак, як правило, це буде корисно.
Виклик
Ви напишете програму або функцію, яка або ...
- ... бере один аргумент, ім'я файлу або рядок, або ...
- ... читає зі стандартного вводу.
Ваша програма буде діяти як cat
, за винятком:
- Якщо першим символом у будь-якому рядку є число, ваш код буде надрукувати x пробіли, де x - це число.
- В іншому випадку він буде просто надрукований.
- Як і будь-який інший символ у вводі.
Тестові справи
Вхід:
foo bar foo bar
1foo bar foo bar foo bar
2foo bar foo bar foo bar foo bar
Вихід:
foo bar foo bar
foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
Вхід:
--------v
8|
8|
80
8,
7&
Вихід:
--------v
|
|
0
,
&
Вхід:
foo bar
bar foo
foo bar
Вихід:
foo bar
bar foo
foo bar
Вхід:
0123456789
1234567890
2345678901
3456789012
4567890123
Вихід:
123456789
234567890
345678901
456789012
567890123
Правила
- Вихід повинен бути точно вхідним, за винятком рядків, де перший символ є числом.
- Ваша програма не може додавати / додавати до файлу нічого, окрім одного зворотного нового рядка, якщо бажаєте.
- Ваша програма може не робити жодних припущень щодо введення даних. Він може містити порожні рядки, ніяких чисел, символів Unicode, будь-якого іншого.
- Якщо число з більш ніж однією цифрою починає рядок (наприклад
523abcdefg
), лише перша цифра (у прикладі 5) повинна перетворюватися на пробіли.
Переможець
Виграє найкоротший код у кожній мові. Весело та удачі!
Of course, this will not be perfect; it cannot be used, for instance, when a number is the first character on a line of source.
Неправда, просто зробіть першого персонажа 0 (ах, ваш останній тестовий випадок)