プログラミングの「変数」と一緒に紹介されるのが「リスト」。
こちらでは、スクラッチのリストの作り方について、詳しく解説しています。
リストとは?
リストとは、文字や数値をいくつも保存できるロッカーのようなものです。
リストに入れた値は、いつでもどの値でも簡単に取り出せます。
このようなリストを、プログラミングの世界では「配列」と呼びます。
変数とリストの違い
変数とは、数字や文字を入れられる箱のことです。
箱の中身から入れたものを取り出し画面に表示させたり、違う文字や数値を入れることができます。
変数とリストの違いは、変数は1つの値しか入れられないのに対して、リストはいくつもの値を保存できる点です。
関連した値が多数ある場合は、リストを使うことで簡単にプログラミングができます。
また、リスト(配列)は、変数が1列に横に並んでいる状態のため、配列も変数と言えます。
スクラッチのリストの作り方
ここからは、実際にリストの作り方を紹介していきます。
まず、「変数」ブロックの中の「リストを作る」をクリックします。
「新しいリスト」画面が表示されたら、「新しいリスト名」に作りたいリストの名前を入力してから、「OK」をクリックします。
すると、新しく作った「月」のリストが追加されました。
また、ステージ左上には、作成した「月」リストの一覧が表示されています。
作成時の中身は「空」の状態ですが、「〇をリストに追加する」ブロックなどを使って、リストに値を代入していきます。
2つのリストの違い
スクラッチのリストの作り方では、あえて説明を省きましたが、「新しいリスト」画面の中で、以下の2つの選択する項目がありました。
- すべてのスプライト用
- このスプライトのみ
これらはプログラミングの世界ではスコープと呼ばれるものです。
スコープとは、作成したリストの有効範囲のことです。
先ほど、リスト(配列)は、変数が1列に横に並んでいる状態のため、配列も変数と言えると説明しましたが、有効範囲によって「ローカル変数」や「グローバル変数」に分けられます。
すべてのスプライト用(グローバル変数)
「月」リストを作成したときは、規定の「すべてのスプライト用」を設定していましたので、どこからでも取り出したり、書き込んだりできるリストです。
このような開放的な変数を「グローバル変数」と言います。
「月」リストは、スクラッチキャットのスプライトで作成しましたが、他のBallスプライトを選択しても、「月」リストが使えます。
このスプライトのみ(ローカル変数)
Ballスプライトを選択した状態で、「日」リストを作成してみましょう。
「日」リストでは、「このスプライトのみ」を選択して作成します。
「日」リストが作成され、「〇をリストに追加する」ブロックでも「日」リストを選択できます。
次に、スクラッチキャットのスプライトを選択すると、ステージ上では、「日」リストを確認ができますが、「日」リストのブロックが無くなってしまいました。
「〇をリストに追加する」ブロックでも「日」リストは選択できないようになっています。
つまり、「日」リストを使えるのは、Ballスプライトのみで、他のスプライトでは使うことができません。
こういった閉鎖的な変数を「ローカル変数」と呼びます。
変数のスコープは必要以上に広げないのがプログラミングの基本です。
そのスプライトだけでしか使わないような変数の場合は、「このスプライトのみ」を選択した方がよいでしょう。
ローカル変数とグローバル変数の違いについては、「スクラッチのローカル変数とグローバル変数とは?違いについて徹底解説!」で詳しく解説していますので、ご確認ください。
まとめ
ここまで、こちらでは、スクラッチのリストの作り方について、詳しく解説してきました。
リストはとても便利な機能です。
使い慣れてくると、その便利さが分かってきますので、どんどんプルグラミングに活かしてください。