Alcuni esolang bidimensionali, come Forked , e alcuni non esolang, come Python , possono talvolta richiedere spazi prima delle righe di codice. Questo non è molto da golf. Inoltre, sono pigro e scrivo una seconda lingua che ha bisogno di molti spazi prima del codice. Il tuo compito è quello di scrivere uno strumento che renda queste lingue più golfistiche.
Certo, questo non sarà perfetto; non può essere utilizzato, ad esempio, quando un numero è il primo carattere su una linea di origine. Tuttavia, sarà generalmente utile.
Sfida
Scriverai un programma o una funzione che o ...
- ... accetta un argomento, un nome file o una stringa oppure ...
- ... legge dallo standard input.
Il tuo programma funzionerà come cat
, tranne:
- Se il primo carattere su una riga è un numero, il codice stamperà x spazi, dove x è quel numero.
- Altrimenti, verrà semplicemente stampato.
- Come ogni altro personaggio nell'input.
Casi test
Ingresso:
foo bar foo bar
1foo bar foo bar foo bar
2foo bar foo bar foo bar foo bar
Produzione:
foo bar foo bar
foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
Ingresso:
--------v
8|
8|
80
8,
7&
Produzione:
--------v
|
|
0
,
&
Ingresso:
foo bar
bar foo
foo bar
Produzione:
foo bar
bar foo
foo bar
Ingresso:
0123456789
1234567890
2345678901
3456789012
4567890123
Produzione:
123456789
234567890
345678901
456789012
567890123
Regole
- L'output deve essere esattamente come input, ad eccezione delle righe in cui il primo carattere è un numero.
- Il tuo programma non può aggiungere / anteporre nulla al file, tranne una nuova riga finale se lo desideri.
- Il tuo programma potrebbe non fare ipotesi sull'input. Può contenere righe vuote, nessun numero, caratteri Unicode, qualunque cosa.
- Se un numero con più di una cifra inizia una riga (ad es.
523abcdefg
), Solo la prima cifra (nell'esempio, 5) dovrebbe trasformarsi in spazi.
Vincitore
Vince il codice più corto in ogni lingua. Buon divertimento e buona fortuna!
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.
Non è vero, basta rendere il primo carattere uno 0 (ehm, il tuo ultimo caso di test)