配列 5. 配列に追加する

8×8の64マスの座標をallCoordinates配列に入れて、for〜in文で1つ1つについてチェックをして、条件に当てはまるものを別のblockSetという配列に追加し、最後にblockSetの中身1つ1つについてまたfor〜in文でループしてブロックを積み上げていきます。

このステージでの目新しいテクニックは、2つ。
1つは、coodinate.columnとかcoodinate.rowでCoodinate型オブジェクトがもっているcolumnやrowといった値(メンバー変数と呼んだりします)を取り出せる点です。ドット記法は色々な意味があってややこしいですね。一般に、

のように最後に()がついている場合は、そのオブジェクトになんらかの処理(メソッド)を実行させる意味で、

のように()がついていないものは、オブジェクトが中にもっている変数(メンバー変数)を指していると思えばよいでしょう。英語なのが難点ですがその意味からなんとなくイメージすることもできることが多いです。

2つめは、配列に対して要素を追加する.append()メソッドです。以前、.insert()というのも出てきましたが、それと違い、単純に最後に付け足すというものです。

今配列内に要素がいくつあるか気にしなくて良いので、うっかり範囲外エラーを出してしまう心配もなくお手軽ですね。配列の中での順番が重要ではない場合は、.insert()より.append()がオススメです。

その2点を踏まえて正解例をご覧ください。

いまいち何をしているのかわかりづらいので、正解例コードを実行した時の結果も画像で載せておきます。

改善希望!役に立った! (+17 rating, 17 votes)
読み込み中...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です