
プログラミングにおいて欠かすことのできない存在『配列』。
スクラッチでは『リスト』という名前で提供されています。
配列は簡単に言ってしまうとたくさんのデータを入れることのできる棚のようなものです。
動物の名前を入れたり、スポーツの名前を入れたりと意味のあるグループを作ることに使われます。
この記事では配列とは何者かを説明してスクラッチとRubyで実際に使ってみたいと思います。
配列(リスト)とは?データを入れておく棚のようなもの
前述した通り配列とはデータを入れておく棚のようなものです。
変数は1個に対して1つのデータしか入れることができません。
対して配列は1個に対してたくさんのデータを入れることができます。
それぞれの配列は入れた順番に保存されて、一つ一つのことを要素といいます。
その要素には番号が振られており添字と呼ばれます。
例えば果物の名前を入れている果物リストを作ったとします。
「りんご、ばなな、ぶどう」
の3つを作ったときに「1番目をください」というと何が返ってくるかと思いますか?
「りんご」ではないんです。
「ばなな」が返ってきます。
これは1つの目の箱は0番からはじまるというルールがあるためです。
ここはかなり混乱するポイントですが0からはじまるルールということで覚えてしまいましょう。
ただしまた混乱するかもですがスクラッチに関しては1番から取得することになっています。
ここに関してはこの後、実際に違いをみてみたいと思います。
配列を実際に使ってみる
配列をスクラッチとRubyで実際に使ってみましょう。
スクラッチで配列を使ってみる
スクラッチで配列はリストという名前になっています。
『変数』エリアにあるリストを作るボタンを押して作成します。
ボタンをクリックするとリスト名と適用の範囲を入力することが促されます。
今回は動物リストという名前ですべてのスプライト用にしましょう。
リストの作成ができたらデータを入れていきます。
データは「ライオン、ぞう、キリン」の3つを入れてみましょう。
リストに動物が追加できたらスプライトに全部言わせてみましょう。
言わせる際にリストの機能を活用します。
ポイントは次の2つです。
- 繰り返し処理を使う
- 繰り返した回数とリストの添字を使う
まず繰り返し処理は『〇〇回繰り返す』ブロックを使います。
〇〇回には3つのデータが入っているので3と入れたいのですがそのまま3と入力するよりいい方法があります。
『動物リストの長さ』ブロックです。
リストの長さを利用することで仮に動物リストに何かを追加しても繰り返す回数を変更する必要がなくなります。
繰り返し処理ができたら繰り返した回数の変数を作ります。
変数名を回数で作成しましょう。
作成したらプログラムの最初に『回数を0にする』ブロックを追加します。
次に繰り返しの最初に『回数を1ずつ変える』ブロックを追加します。
最後にスプライトに動物の名前を言ってもらいましょう。
『〇〇と1秒言う』ブロックを使いますが〇〇には何を入れると良いでしょうか?
ここで先ほどの『回数』変数を使います。
リストには何番目を取り出すと言う機能があります。
『動物リストの〇〇番目』と言うブロックに〇〇の箇所に『回数』変数をうめてみましょう。
上記のようにできたらプログラムの一番最初に『動物リストのすべてを削除する』ブロックを追加して動かしてみましょう。
上記のようにできたらプログラムを実行してみましょう。
うまく動いていますね。
続いてはRubyをみてみましょう。
Rubyで配列を使ってみる
次はRubyで同様のことをやってみます。
プログラムを書くと次のようになります。
animals = %w[ライオン ぞう キリン]
animals.each { |animal| puts animal }
たった二行でできます。
最初の一行で動物リストを作って、2行目で名前を表示しています。
上記のプログラムを実行すると以下のような結果が得られます。
ライオン
ぞう
キリン