Molte persone su questo sito usano lingue esoteriche e poiché queste lingue sono insolite e difficili da capire, scriveranno spesso una spiegazione in un determinato formato. Ad esempio, se il codice fosse
abcdefghijklmnop
E questa lingua usa #
per i commenti, scriverebbero una spiegazione come questa:
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
Faccio spesso anche questo, ma ogni volta che lo faccio, sento che creare il layout del testo è davvero odioso e richiede molto tempo. Quindi voglio che tu crei un "Generatore di modelli di commenti Esolang" per me. Ad esempio, se ignoriamo i commenti, il codice precedente ha questo modello:
a #
bc #
d #
e #
fgh #
ij #
k #
l #
mn #
op #
La sfida:
È necessario scrivere un programma o una funzione che accetta due stringhe come input e genera questo "Esolang-Comment-Template". Il primo input sarà il codice, ma con le barre ( |
) inserite dove vanno le newline. Il secondo input è quello che useremo per i commenti. Quindi il nostro ultimo esempio dovrebbe avere questo per l'input:
"a|bc|d|e|fgh|ij|k|l|mn|op", "#"
Purtroppo questo esclude le barre dall'essere parte dell'input del codice, ma va bene. Puoi presumere che l'input del commento sarà un singolo carattere. Per semplicità, il carattere di commento non sarà una barra. L'input del codice conterrà solo ASCII stampabile e non conterrà nuove righe.
Spero che tu possa dedurre cosa fare dai testcase, ma cercherò di chiarire alcune cose.
È necessario dividere il codice inserito in "sezioni di codice" su ogni barra. Quindi, ogni sezione di codice viene emessa su una riga separata e riempita a sinistra con la lunghezza di tutto il codice precedente (escluse le barre). Quindi, ogni riga viene riempita a destra con spazi sufficienti in modo che gli ultimi due caratteri su ogni riga siano "Uno spazio aggiuntivo" + "Il carattere di commento".
È consentita una nuova riga finale.
Ecco un altro esempio. Per l'input
"Hello|World", "/"
La prima sezione del codice è "Hello" e la seconda è "World". Quindi dovrebbe dare l'output:
Hello /
World /
Ecco alcuni altri esempi:
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 @
Regole:
Puoi prendere questi ingressi e uscite in qualsiasi formato ragionevole. Ad esempio, leggere / scrivere un file, STDIN / STOUT, argomenti di funzione / valore restituito, ecc. Come sempre, questo è code-golf , quindi cerca di rendere il tuo codice il più corto possibile e vinci se riesci a ottenere la soluzione più breve nella tua lingua! Selezionerò anche la soluzione più breve come vincitore assoluto. Le scappatoie standard sono vietate.
|
personaggio sarebbe bello, quindi puoi spiegarti
|
)?