Ispirato al C -Direttiva #define.
Sfida
Assegnata una frase con alcuni alias e una matrice con ogni testo alias. Stampa la frase iniziale sostituendo ogni alias con il rispettivo testo.
Un alias è definito da uno sharp #seguito dal suo indice nella matrice (l'indice può iniziare da zero o uno). Alias può contenere un altro alias nel suo testo e devi risolverli tutti (magari in modo ricorsivo). Puoi supporre che l'alias non verrà mai eseguito in un ciclo infinito. L'alias non avrà zero iniziali ( #02non è alias all'indice 2, è alias all'indice 0seguito dal testo 2).
Puoi supporre che l'array non passi 20 articoli in lunghezza.
Puoi scrivere un programma, o una funzione o anche un #define- sarebbe bello :)
Puoi anche utilizzare un altro metodo di input che si adatta meglio alla tua lingua.
Esempio
phrase: "#0 & #3"
array: [
"Programming #1",
"Puzzles",
"Code",
"#2 Golf"
]
output: "Programming Puzzles & Code Golf"
Passo dopo passo:
0> "#0 & #3"
1> "Programming #1 & #2 Golf"
2> "Programming Puzzles & Code Golf"
Dato che si tratta di code-golf , vince la risposta più breve in byte!
Un altro campione
phrase: "#0!"
array: [
"We are #1",
"#2",
"#3",
"#4 !",
"graduating"
]
output: "We are graduating !!"
phrase: "##0#1#0#21#3#4"
array: [
"a",
"m",
"z",
"n",
"g"
]
output: "#amaz1ng"
phrase: "##1#23"
array: [
"WEIRD",
"0 C",
"AS"
]
output: "WEIRD CAS3"
phrase: "#1#7#6y#4#7#10s#7b#11#0#0#11r#7#0h#6#5#2#5#9#4."
array: [
"t",
"#12#3",
"#11ga#3",
"#0#10v#11",
"#0h#10#8g",
"#7#8",
"a#8",
" ",
"n",
"o",
"i",
"e",
"P#9s#10"
]
output: "Positive anything is better than negative nothing."
Gli esempi sopra hanno usato la matrice con indice che inizia da zero.
#01
#0dovrebbe apparire? O è#01valido ma non un alias (ovvero viene lasciato così com'è)?