Рифмы гласных: яблоки и бананы
Существует традиционная детская песня, которая повторяет один и тот же текст снова и снова, только каждый раз, когда каждый гласный заменяется случайным гласным, но постоянным в текущей строфе.
Вызов
Цель состоит в том, чтобы предложить кратчайший код, который выполняет такое преобразование для входного текста.
правила
- Вы должны печатать рифму столько раз, сколько в ней четких гласных.
- Каждый оттиск должен быть отделен переводом строки (для каждой платформы выбран комбо
\n
и\r
принимается). - Для итерации
i
замените каждый гласныйi
гласным в исходном тексте. - Вводимый текст представляет собой последовательность печатных символов ASCII (диапазон
[32, 126]
. - На входе не будет вставленных разрывов строк.
- Должны быть затронуты только гласные символы, остальные должны выводиться точно как ввод.
- Учитываются только гласные символы: носовые гласные, звучащие как гласные (как в французском «Тинтин» ), не должны обрабатываться как один гласный.
- Регистр имеет значение для вывода, но является позиционным (замена гласной в верхнем регистре выполняется заменой гласной в верхнем регистре)
- Прописные гласные не отличаются от строчных букв (т.
a
Е. <=>A
) - Последовательные гласные всегда рассматриваются отдельно (т.
Boat
Е. Дает обаBoot
иBaat
) - Поскольку буква
y
представляет собой либо гласный, либо согласный звук (поскольку мы говорим по-английски), обработка его как гласного или согласного допускается, однако ответы должны явно указывать, обрабатывают ли ониy
как гласный или нет.
Примеры:
Привет, мир
Hello world!
дает:
Helle werld!
Hollo world!
Выдержка из оригинального французского текста (в переводе) с y
гласным:
An elephant that was rambling all gently in the woods...
дает:
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...
Обратите внимание на поведение в верхнем регистре гласных: регистр хранится в его индексе (правила 8 и 9).
Гласный пример
Ввод, который не содержит гласных, например:
lgn@hst:~$ rm -rf ./* ~ /
не должен выдавать вывод или разрыв строки.
Ввод гласного
Ввод, содержащий одну гласную, выводится как есть.
Dad sat at a car and saw a fat bat.
дает:
Dad sat at a car and saw a fat bat.
Это код-гольф , поэтому выигрывает меньше всего кода bytecount (ничего, кроме вечной славы PPCG)!