両親が、きょうだいと2人で挑む2対2のバスケットボール対決を持ちかけてきました。 自分たちが勝つと確信して、最初の数点は取らせてくれましたが、その後は試合を支配し始めました。 少し後押しが欲しくなり、ピッグ・ラテンで話し始めます。これは子どもが考え出した言葉で、子ども以外にはなかなか理解できません。 これで両親に打ち勝つための優位を得られるはずです!
課題は、英語のテキストをピッグ・ラテンに翻訳することです。 翻訳のしかたは4つのルールで決まり、これらのルールは単語の先頭にある母音と子音の並び方に注目します。 ルールは、それぞれの単語で母音と子音がどのように使われているかを見ます。
a、e、i、o、uの文字単語が母音で始まる場合、または"xr"か"yt"で始まる場合は、単語の末尾に"ay"の音を付けます。
たとえば:
"apple" -> "appleay"(母音で始まる)"xray" -> "xrayay"("xr"で始まる)"yttria" -> "yttriaay"("yt"で始まる)単語が1つ以上の子音で始まる場合は、まずその子音を単語の末尾に移動し、それから単語の末尾に"ay"の音を付けます。
たとえば:
"pig" -> "igp" -> "igpay"(子音1つで始まる)"chair" -> "airch" -> "airchay"(複数の子音で始まる)"thrush" -> "ushthr" -> "ushthray"(複数の子音で始まる)単語が0個以上の子音とそれに続く"qu"で始まる場合は、まずその子音(ある場合)と"qu"の部分を単語の末尾に移動し、それから単語の末尾に"ay"の音を付けます。
たとえば:
"quick" -> "ickqu" -> "ay"("qu"で始まり、前に子音はない)"square" -> "aresqu" -> "aresquay"(子音1つとそれに続く"quで始まる)単語が1つ以上の子音とそれに続く"y"で始まる場合は、まず"y"の前にある子音を単語の末尾に移動し、それから単語の末尾に"ay"の音を付けます。
いくつかの例:
"my" -> "ym" -> "ymay"(子音1つとそれに続く"y"で始まる)"rhythm" -> "ythmrh" -> "ythmrhay"(複数の子音とそれに続く"y"で始まる)Exercismに登録すれば、76個の演習、そして本物の人間によるメンタリングとともに、Delphi Pascalを学んでマスターできます。すべて無料です。
パターンマッチングと正規表現、それに素敵なPrologの解答も見ていきます。そして、演習を本当に解いたのか、それともテストを通しただけなのかを問いかけます。