Beberapa esolang dua dimensi, seperti Forked , dan beberapa non-esolangs, seperti Python , terkadang dapat membutuhkan spasi sebelum baris kode. Ini tidak terlalu golf. Juga, saya malas dan menulis lang 2d yang membutuhkan banyak ruang sebelum kode. Tugas Anda adalah menulis alat yang membuat bahasa ini menjadi lebih golf.
Tentu saja, ini tidak akan sempurna; itu tidak dapat digunakan, misalnya, ketika angka adalah karakter pertama pada satu baris sumber. Namun, ini umumnya akan bermanfaat.
Tantangan
Anda akan menulis sebuah program atau fungsi yang ...
- ... mengambil satu argumen, nama file atau string, atau ...
- ... membaca dari input standar.
Program Anda akan bertindak seperti cat
, kecuali:
- Jika karakter pertama pada baris apa pun adalah angka, kode Anda akan mencetak x spasi, di mana x adalah angka itu.
- Kalau tidak, itu hanya akan dicetak.
- Seperti halnya setiap karakter lain dalam input.
Uji kasus
Memasukkan:
foo bar foo bar
1foo bar foo bar foo bar
2foo bar foo bar foo bar foo bar
Keluaran:
foo bar foo bar
foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
Memasukkan:
--------v
8|
8|
80
8,
7&
Keluaran:
--------v
|
|
0
,
&
Memasukkan:
foo bar
bar foo
foo bar
Keluaran:
foo bar
bar foo
foo bar
Memasukkan:
0123456789
1234567890
2345678901
3456789012
4567890123
Keluaran:
123456789
234567890
345678901
456789012
567890123
Aturan
- Output harus persis seperti input, kecuali untuk baris di mana karakter pertama adalah angka.
- Program Anda tidak dapat menambahkan / menambahkan apa pun ke file, kecuali satu baris baru jika Anda inginkan.
- Program Anda mungkin tidak membuat asumsi tentang input. Ini mungkin berisi baris kosong, tidak ada angka, karakter Unicode, apa pun.
- Jika angka dengan lebih dari satu digit memulai garis (mis.
523abcdefg
), Hanya digit pertama (dalam contoh, 5) yang akan berubah menjadi spasi.
Pemenang
Kode terpendek di setiap bahasa menang. Selamat bersenang-senang dan semoga berhasil!
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.
Tidak benar, buat saja karakter pertama 0 (ahem, test case terakhir Anda)