I tuoi genitori hanno sfidato te e un tuo fratello o una tua sorella a una partita di basket due contro due. Sicuri di vincere, ti lasciano segnare un paio di punti, ma poi prendono il sopravvento. Hai bisogno di una piccola spinta, così inizi a parlare in Pig Latin, una lingua inventata per bambini che è difficile da capire per chi non è più bambino. Questo ti darà il vantaggio che ti serve per avere la meglio sui tuoi genitori!
Il tuo compito è tradurre del testo dall'inglese al Pig Latin. La traduzione è definita da quattro regole, che esaminano la sequenza di vocali e consonanti all'inizio di una parola. Queste regole considerano l'uso delle vocali e delle consonanti in ogni parola:
a, e, i, o e u
Se una parola inizia con una vocale, oppure inizia con "xr" o "yt", aggiungi un suono "ay" alla fine della parola.
Per esempio:
"apple" -> "appleay" (inizia con una vocale)"xray" -> "xrayay" (inizia con "xr")"yttria" -> "yttriaay" (inizia con "yt")Se una parola inizia con una o più consonanti, sposta prima quelle consonanti alla fine della parola, poi aggiungi un suono "ay" alla fine della parola.
Per esempio:
"pig" -> "igp" -> "igpay" (inizia con una sola consonante)"chair" -> "airch" -> "airchay" (inizia con più consonanti)"thrush" -> "ushthr" -> "ushthray" (inizia con più consonanti)Se una parola inizia con zero o più consonanti seguite da "qu", sposta prima quelle consonanti (se ci sono) e la parte "qu" alla fine della parola, poi aggiungi un suono "ay" alla fine della parola.
Per esempio:
"quick" -> "ickqu" -> "ickquay" (inizia con "qu", nessuna consonante che precede)"square" -> "aresqu" -> "aresquay" (inizia con una consonante seguita da "qu")Se una parola inizia con una o più consonanti seguite da "y", sposta prima le consonanti che precedono la "y" alla fine della parola, poi aggiungi un suono "ay" alla fine della parola.
Alcuni esempi:
"my" -> "ym" -> "ymay" (inizia con una sola consonante seguita da "y")"rhythm" -> "ythmrh" -> "ythmrhay" (inizia con più consonanti seguite da "y")Iscriviti a Exercism per imparare e padroneggiare Lua con 117 esercizi e il mentoring di persone reali, tutto gratis.
Diamo un'occhiata al pattern matching e alle espressioni regolari, oltre a una bella soluzione in Prolog, e ci chiediamo: hai risolto l'esercizio o hai solo fatto passare i test?