Banyak orang di situs ini menggunakan bahasa esoterik , dan karena bahasa-bahasa ini tidak biasa dan sulit dimengerti, mereka akan sering menulis penjelasan dalam format tertentu. Misalnya, jika kodenya
abcdefghijklmnop
Dan bahasa ini digunakan #
untuk komentar, mereka akan menulis penjelasan seperti ini:
a #Explanation of what 'a' does
bc #Bc
d #d
e #Explanation of e
fgh #foobar
ij #hello world
k #etc.
l #so on
mn #and
op #so forth
Saya sering melakukan ini juga, tetapi setiap kali saya melakukan ini, saya merasa seperti membuat tata letak teks benar-benar menjengkelkan dan memakan waktu. Jadi saya ingin Anda membuat "Esolang-Comment-Template-Generator" untuk saya. Misalnya, jika kita mengabaikan komentar, kode sebelumnya memiliki templat ini:
a #
bc #
d #
e #
fgh #
ij #
k #
l #
mn #
op #
Tantangan:
Anda harus menulis program atau fungsi yang mengambil dua string sebagai input, dan menampilkan "Esolang-Comment-Templat" ini. Input pertama adalah kode, tetapi dengan bilah ( |
) disisipkan di mana baris baru pergi. Masukan kedua adalah apa yang akan kita gunakan untuk komentar. Jadi contoh terakhir kita akan memiliki ini untuk input:
"a|bc|d|e|fgh|ij|k|l|mn|op", "#"
Sayangnya, ini mengecualikan bilah agar tidak menjadi bagian dari input kode, tetapi tidak apa-apa. Anda dapat mengasumsikan bahwa input komentar akan menjadi satu karakter. Demi kesederhanaan, char komentar tidak akan menjadi bilah. Input kode hanya akan berisi ASCII yang dapat dicetak, dan tidak akan berisi baris baru.
Semoga Anda dapat menyimpulkan apa yang harus dilakukan dari testcases, tetapi saya akan mencoba mengklarifikasi beberapa hal.
Anda harus membagi input kode menjadi "bagian kode" di setiap bilah. Kemudian, setiap bagian dari kode adalah output pada barisnya sendiri dan dibiarkan dengan panjang semua kode sebelumnya (tidak termasuk bar). Kemudian, setiap baris diisi dengan spasi yang cukup sehingga dua karakter terakhir pada setiap baris adalah "Satu ruang tambahan" + "Karakter komentar".
Satu trailing newline diperbolehkan.
Ini adalah contoh lain. Untuk input
"Hello|World", "/"
Pertama bagian dari kode "Hello" dan yang kedua adalah "Dunia". Jadi itu harus memberikan output:
Hello /
World /
Berikut beberapa contoh lainnya:
Input:
"a|b|c|d|e|f|g", ","
Output:
a ,
b ,
c ,
d ,
e ,
f ,
g ,
Input:
"abcdefg", ":"
Output:
abcdefg :
Input:
"4|8|15|16|23|42", "%"
Output:
4 %
8 %
15 %
16 %
23 %
42 %
Input:
"E|ac|h s|ecti|on is| one c|haracte|r longer| than the| last!", "!"
Output:
E !
ac !
h s !
ecti !
on is !
one c !
haracte !
r longer !
than the !
last! !
Input:
"This|Code|has||empty||sections", "@"
Output:
This @
Code @
has @
@
empty @
@
sections @
Aturan:
Anda dapat mengambil input dan output ini dalam format apa pun yang masuk akal. Misalnya, membaca / menulis file, STDIN / STOUT, argumen fungsi / nilai pengembalian, dll. Seperti biasa, ini adalah kode-golf , jadi cobalah membuat kode Anda sesingkat mungkin dan Anda menang jika Anda bisa mendapatkan solusi terpendek dalam bahasa anda! Saya juga akan memilih solusi terpendek sebagai pemenang keseluruhan. Celah standar dilarang.
|
karakter akan menyenangkan, sehingga Anda dapat menjelaskan diri Anda sendiri
|
)?