今回も関数をネストして呼び出します(関数の中から別の関数を使用)。
また今回は関数の名前も自分で決めなければなりません。Swift Playgroundsでは関数名に英語を使うこともできますが、一般的にはアルファベットや数字を使って名前をつけることが多いです。
今回は最初の「目の前の宝石をとり、振り返って元の位置に戻る」を英語で表したcollectGemTurnAround()と、「それを前後3回やって1列分の宝石をとる」solveRow()という名前をつけました。日本語か英語かはさておき、何をする関数なのか直接あらわす名前にしておくのが良いでしょう(私も考えるのが面倒になってpattern1とかすることもありますが…)。
また関数名の途中にはスペースを使えないので単語を組み合わせた名前にする時はこのように2つ目以降の単語の最初の文字だけ大文字にする「キャメルケース(更に正確にはローワーキャメルケース)」で書くことが推奨されています。
「collect gem (and) turn around」という英文からとるなら「collectGemTurnAround()」などとします(andは長いので省略。つけてもOKです)。また通常主語はつけません。その理由は追々明らかになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// houseki wo //目の前の宝石をとり、振り返って元の位置に戻る関数 func collectGemTurnAround() { moveForward() moveForward() collectGem() turnLeft() turnLeft() moveForward() moveForward() } //前方と後方2回collectGemTurnAround()を使って1列文を処理する関数 func solveRow() { collectGemTurnAround() collectGemTurnAround() turnRight() moveForward() turnLeft() } //本編。3列を処理 solveRow() solveRow() solveRow() |