Некоторые двумерные esolangs, такие как Forked , и некоторые не esolangs, такие как 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 (хм, ваш последний контрольный пример)