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

ピッグ・ラテン

中級

はじめに

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

説明

課題は、英語のテキストをピッグ・ラテンに翻訳することです。 翻訳のしかたは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" -> "ay"("qu"で始まり、前に子音はない)
  • "square" -> "aresqu" -> "aresquay"(子音1つとそれに続く"quで始まる)

ルール4

単語が1つ以上の子音とそれに続く"y"で始まる場合は、まず"y"の前にある子音を単語の末尾に移動し、それから単語の末尾に"ay"の音を付けます。

いくつかの例:

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

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

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

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

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