Wierszyk: Jabłka i banany
Istnieje tradycyjna piosenka dla dzieci, która powtarza ten sam tekst w kółko, tylko za każdym razem, gdy każda samogłoska jest zastępowana losową samogłoską, ale stała w całej zwrotce.
Wyzwanie
Celem jest zaproponowanie najkrótszego kodu, który dokonuje takiej transformacji tekstu wejściowego.
Zasady
- Musisz wydrukować wierszyk tyle razy, ile jest w nim wyraźnych samogłosek.
- Każdy wydruk musi być oddzielony podziałem wiersza (kombinacja specyficzna dla platformy
\ni\rjest akceptowana). - W celu iteracji
izastąp każdą samogłoskęith odrębną samogłoską w tekście oryginalnym. - Tekst wejściowy to sekwencja drukowalnych znaków ASCII (zakres
[32, 126]. - Dane wejściowe nie będą zawierać osadzonych podziałów linii.
- Należy zmieniać tylko znaki samogłosek, inne muszą być wyprowadzane dokładnie jako dane wejściowe.
- Liczą się tylko samogłoski: samogłoski nosowe, chociaż brzmią jak samogłoski (jak we francuskim „Tintin” ), nie mogą być traktowane jako pojedyncza samogłoska.
- Wielkość liter ma znaczenie dla danych wyjściowych, ale ma charakter pozycyjny (zastąpienie samogłoski pisanej wielkimi literami odbywa się za pomocą samogłoski zastępującej wielkie litery)
- Samogłoski wielkich liter nie różnią się od ich małych odpowiedników (tj.
a<=>A) - Kolejne samogłoski są zawsze rozpatrywane osobno (tzn.
BoatDają zarównoBootiBaat) - Ponieważ litera
yreprezentuje albo samogłoskę, albo rzeczownik spółgłoskowy (jak mówimy po angielsku), obsługa go jako samogłoski lub spółgłoski jest dozwolona, jednak odpowiedzi muszą wyraźnie określać, czy obsługująyjako samogłoskę, czy nie.
Przykłady:
Witaj świecie
Hello world!
daje:
Helle werld!
Hollo world!
Fragment oryginalnego tekstu francuskiego (przetłumaczonego), ytraktowanego jako samogłoska:
An elephant that was rambling all gently in the woods...
daje:
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...
Zwróć uwagę na zachowanie na wiodącej samogłosce wielkich liter: wielkość liter jest utrzymywana na indeksie (reguły 8 i 9).
Przykład bezowocny
Dane wejściowe, które nie zawierają żadnej samogłoski, takie jak:
lgn@hst:~$ rm -rf ./* ~ /
nie może generować żadnego wyjścia ani pojedynczego podziału linii.
Wprowadzanie pojedynczej samogłoski
Dane wejściowe zawierające pojedynczą samogłoskę są wyprowadzane w niezmienionej postaci.
Dad sat at a car and saw a fat bat.
daje:
Dad sat at a car and saw a fat bat.
To jest golf golfowy , więc wygrywa najmniejszy kod bajtowy (tylko wieczna chwała PPCG)!