Voyelles riment: pommes et bananes
Il y a une chanson traditionnelle pour enfants qui répète le même texte encore et encore, seulement chaque fois que chaque voyelle est remplacée par une voyelle aléatoire, mais constante dans la strophe actuelle.
Défi
L'objectif est de proposer le code le plus court qui effectue une telle transformation sur un texte d'entrée.
Règles
- Vous devez imprimer la rime autant de fois qu'il y a de voyelles distinctes.
- Chaque impression doit être séparée par un saut de ligne (combo
\n
et\r
est accepté). - Pour l'itération
i
, remplacez chaque voyelle par lei
voyelle distincte dans le texte original. - Le texte saisi est une séquence de caractères ASCII imprimables (plage
[32, 126]
. - L'entrée ne contiendra pas de sauts de ligne intégrés.
- Seuls les caractères des voyelles doivent être affectés, les autres doivent être sortis exactement comme entrée.
- Seuls les caractères des voyelles comptent: les voyelles nasales, bien qu'elles sonnent comme des voyelles (comme en français "Tintin" ), ne doivent pas être traitées comme une voyelle unique.
- Le cas est important pour la sortie, mais est positionnel (le remplacement d'une voyelle majuscule se fait par la voyelle de remplacement majuscule)
- Les voyelles majuscules ne sont pas distinctes de leur homologue minuscule (c'est
a
-à- dire <=>A
) - Les voyelles consécutives sont toujours considérées séparément (c.-à-d.
Boat
Donne les deuxBoot
etBaat
) - Étant donné que la lettre
y
représente soit une voyelle ou un son de consonne (comme nous parlons anglais), la traiter comme une voyelle ou une consonne est autorisée, mais les réponses doivent indiquer explicitement si elles se traitenty
comme une voyelle ou non.
Exemples:
Bonjour le monde
Hello world!
donne:
Helle werld!
Hollo world!
Extrait du texte français original (traduit), y
traité comme une voyelle:
An elephant that was rambling all gently in the woods...
donne:
An alaphant that was ramblang all gantla an tha waads...
En elephent thet wes rembleng ell gentle en the weeds...
In iliphint thit wis rimbling ill gintli in thi wiids...
Yn ylyphynt thyt wys rymblyng yll gyntly yn thy wyyds...
On olophont thot wos romblong oll gontlo on tho woods...
Notez le comportement sur la voyelle en majuscule: la casse est conservée à son index (règles 8 et 9).
Exemple sans voyelle
Entrée qui ne contient aucune voyelle, comme:
lgn@hst:~$ rm -rf ./* ~ /
ne doit produire aucune sortie ou un seul saut de ligne.
Entrée voyelle unique
L'entrée contenant une seule voyelle est sortie telle quelle.
Dad sat at a car and saw a fat bat.
donne:
Dad sat at a car and saw a fat bat.
C'est du golf de code , donc le moins de code de bytecount gagne (rien que la gloire PPCG éternelle)!