トラック
/
R
R
/
演習
/
ピッグ・ラテン
ピッグ・ラテン

ピッグ・ラテン

中級

はじめに

両親が、きょうだいと2人で挑む2対2のバスケットボール対決を持ちかけてきました。 自分たちが勝つと確信して、最初の数点は取らせてくれましたが、その後は試合を支配し始めました。 少し後押しが欲しくなり、ピッグ・ラテンで話し始めます。これは子どもが考え出した言葉で、子ども以外にはなかなか理解できません。 これで両親に打ち勝つための優位を得られるはずです!

説明

英語のテキストをPig Latinに翻訳するのが課題です。翻訳のしかたは4つのルールで決まり、それぞれのルールが単語の先頭にある母音と子音の並びに注目します。これらのルールは、各単語が母音と子音をどう使っているかを見ます。

  • 母音:文字a、e、i、o、u
  • 子音:英語のアルファベットの残り21文字

ルール1

単語が母音で始まる場合、または"xr"か"yt"で始まる場合は、その単語の末尾に"ay"の音を加えます。

たとえば:

  • "apple" -> "appleay"(母音で始まる)
  • "xray" -> "xrayay"("xr"で始まる)
  • "yttria" -> "yttriaay"("yt"で始まる)

ルール2

単語が1つ以上の子音で始まる場合は、まずその子音を単語の末尾に移し、そのあとに単語の末尾へ"ay"の音を加えます。

たとえば:

  • "pig" -> "igp" -> "igpay"(子音1つで始まる)
  • "chair" -> "airch" -> "airchay"(複数の子音で始まる)
  • "thrush" -> "ushthr" -> "ushthray"(複数の子音で始まる)

ルール3

単語が0個以上の子音のあとに"qu"が続く形で始まる場合は、まずそれらの子音(ある場合)と"qu"の部分を単語の末尾に移し、そのあとに単語の末尾へ"ay"の音を加えます。

たとえば:

  • "quick" -> "ickqu" -> "ickquay"("qu"で始まり、その前に子音はない)
  • "square" -> "aresqu" -> "aresquay"(子音1つのあとに"qu"が続いて始まる)

ルール4

単語が1つ以上の子音のあとに"y"が続く形で始まる場合は、まず"y"の前にある子音を単語の末尾に移し、そのあとに単語の末尾へ"ay"の音を加えます。

例をいくつか挙げます:

  • "my" -> "ym" -> "ymay"(子音1つのあとに"y"が続いて始まる)
  • "rhythm" -> "ythmrh" -> "ythmrhay"(複数の子音のあとに"y"が続いて始まる)
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
R Exercism

ピッグ・ラテンを始める準備はできましたか?

Exercismに登録すれば、21個のコンセプト111個の演習、そして本物の人間によるメンタリングとともに、Rを学んでマスターできます。すべて無料です。

ピッグ・ラテンを深く掘り下げよう!

パターンマッチングと正規表現、それに素敵なPrologの解答も見ていきます。そして、演習を本当に解いたのか、それともテストを通しただけなのかを問いかけます。