元音押韵:苹果和香蕉
有一首传统的儿童歌曲,一遍又一遍地重复相同的文本,只有每次将每个元音都替换为随机的元音,但在当前节中保持不变。
挑战
目的是提出对输入文本执行这种转换的最短代码。
规则
- 您必须将韵母打印多次,因为其中有不同的元音。
- 每个打印件必须以换行符分隔(接受
\n
和的特定于平台的组合\r
)。 - 为了进行迭代
i
,请用i
原始文本中的第一个不同的元音替换每个元音。 - 输入文本是一系列可打印的ASCII字符(范围
[32, 126]
。 - 输入将不包含嵌入式换行符。
- 仅元音字符必须受到影响,其他元音必须完全作为输入输出。
- 只有元音字符才算:鼻元音,虽然听起来像元音(如法语“ Tintin”),但不能作为单个元音处理。
- 大小写对于输出很重要,但是是位置性的(用大写替换元音替换大写元音)
- 大写元音与小写元音没有区别(即
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.
这是代码高尔夫球,因此最少的字节数代码获胜(除了永恒的PPCG荣耀)!