esolangs สองมิติบางอย่างเช่นForkedและบางส่วนที่ไม่ใช่ esolangs เช่นPythonบางครั้งอาจต้องการช่องว่างก่อนบรรทัดของโค้ด นี่มันไม่ค่อยเล่นกอล์ฟมาก นอกจากนี้ฉันขี้เกียจเขียน 2d lang ที่ต้องการช่องว่างจำนวนมากก่อนรหัส งานของคุณคือการเขียนเครื่องมือที่ทำให้นักกอล์ฟภาษาเหล่านี้
แน่นอนว่าสิ่งนี้จะไม่สมบูรณ์แบบ ไม่สามารถใช้งานได้เช่นเมื่อตัวเลขเป็นอักขระตัวแรกในบรรทัดแหล่งที่มา อย่างไรก็ตามโดยทั่วไปจะมีประโยชน์
ท้าทาย
คุณจะเขียนโปรแกรมหรือฟังก์ชั่นที่ ...
- ... รับหนึ่งอาร์กิวเมนต์ชื่อไฟล์หรือสตริงหรือ ...
- ... อ่านจากอินพุตมาตรฐาน
โปรแกรมของคุณจะทำหน้าที่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 (อะแฮ่มกรณีทดสอบสุดท้ายของคุณ)