Göreviniz nl, GNU çekirdek yardımcı programlarından komut satırı aracına benzer bir program uygulamaktır.
Standart boşluklar yasaklanmıştır.
nlKendisi veya =GNU sed'deki komut gibi bir dosya veya dizenin satırlarını numaralandırmak için yerleşik veya harici bir işlev, program veya yardımcı program kullanamazsınız .
Şartname
Giriş
Program, dosya adlarını bağımsız değişken olarak kabul eder. Kodunuzun çapraz platform olması gerekmez; kodu çalıştıran işletim sisteminin dosya adı biçimi kullanılmalıdır, yani Windows'ta bulunuyorsanız, dizin ayırıcı \veya olabilir /.
-Belirtilmişse de dahil olmak üzere 64 giriş dosyasını alabilmeniz gerekir . 64'ten fazla verilirse, yalnızca ilk 64'ü kullanın.
Dosya adları listesinde -standart girişi temsil eder.
Dosya adları verilirse, dosyalardan verildikleri sırayla okuyun ve içeriklerini birleştirin, her biri ve sonuna yeni bir satır ekleyin. Bir veya daha fazla dosya adından okuyamıyorsanız (dosya mevcut olmadığından veya dosya için okuma izniniz olmadığından) yok sayın. Belirtilen tüm dosya adları geçersizse, hiçbir şey çıktılamaz.
Dosya adı verilmemişse standart girişten okuyun. Standart girişten yalnızca dosya adı verilmemişse veya -verilmişse okuyun.
Çıktı
Program çıktısı, standart çıkışa, çizgilerle giriş böylece sayılı (Sen girdi olduğunu varsayalım olabilir \n, \r\nya da \r:; sizin için uygun olanı seçmek, ama hangi birini belirtmek satır sonları)
<5 spaces>1<tab><content of line 1 of input>
<5 spaces>2<tab><content of line 2 of input>
...
<4 spaces>10<tab><content of line 10 of input>
...
<3 spaces>100<tab><content of line 100 of input>
...
...
Satır numarası için 6 karakter boşluk ayrılır ve bu karakterlerin sonuna eklenir; geri kalanı boşluk haline gelir (örneğin 1, 5 önde gelen alana 22sahip olacak, 4 önde gelen alana sahip olacak ...). Giriş yeterince uzunsa, satır satırında satır sonunda yer kalmaz 999999. 999999 satırından sonra hiçbir şey çıkarmamalısınız.
Giriş boşsa, hiçbir şey çıktılamaz.
Çıkış durumu
Küçük sayılar önceliklidir: 1 ve 2 numaralı hatalarla karşılaşıldıysa, durum 1 ile çıkın.
Giriş başarıyla alındıysa ve satırlar başarıyla numaralandırılıp çıktıysa durum 0 ile çıkın.
Komut satırında belirtilen bir veya daha fazla dosya bulunamadıysa veya okunamıyorsa durum 1 ile çıkın.
Çok fazla dosya (64'ten fazla) verildiğinde durum 2'den çıkın.
Giriş çok uzunsa (999999 satırdan fazla) durum 3 ile çıkın. \
puanlama
Bu kod golf - en kısa program kazanır!
Bazı seçenekleri uygulamak için daha sonra bonuslar ekleyebilirim nl. Şu anda bonus yok.
prompt()program argümanlarını ve stdin'i taklit edebilir miyiz ?