マジシャンのたまごであるElyseは、基本をいくつか練習する必要があります。彼女の手元には、思うように動かしたいカードの山があります。
少し簡単にするために、彼女は1から10までのカードだけを使います。
カードの値を1から10に限定しているのは、数値だけを扱えばよいようにするためです。こうすることで、このストーリーを使う演習は数値だけに頼ればよくなります。
以下は、Elyseが初心者であるというストーリーに合うタスクの例です:
このストーリーは、配列の分析を教えるために続けることもできます:
このストーリーは、配列の変換を教えるために続けることもできます:
このストーリーは、配列の分割代入を教えるために続けることもできます:
これは、指示文(スタブ内のコメントを含む)で繰り返し使われる用語についての推奨であり、規則ではありません。
array(または同等のデータ型)の代わりに、山札またはカードの山という言葉を使います。elementの代わりに、カードという言葉を使います。lengthの代わりに、山札の枚数と書きます。ストーリーの別バージョンでは、あなた(学習者)を主人公に据え、山札を並べ替えることだけに焦点を当てています。
マジシャンになったあなたは、1組のカードを扱います。マジックを正しく成功させるには、カードをある位置から別の位置へ動かせる必要があります。つまり、山札を並べ替えられるようになる必要があるのです。当然、カードは両方向に動かせたほうがよいですし、「山札の一番上から」「山札の一番下から」と言える必要もあります。
以下は、カードを並べ替えたいというストーリーに合うタスクの例です:
arrangeという関数を実装します。これは山札のカードを指定された位置から別の位置へ動かし、新しい山札を返します。rearrangeという関数を実装します。