ブロックの使い方変数

スクラッチのリストの作り方!変数との違いは!?

プログラミングの「変数」と一緒に紹介されるのが「リスト」。

こちらでは、スクラッチのリストの作り方について、詳しく解説しています。

スポンサーリンク

リストとは?

リストとは、文字や数値をいくつも保存できるロッカーのようなものです。

リストに入れた値は、いつでもどの値でも簡単に取り出せます。

このようなリストを、プログラミングの世界では「配列」と呼びます。

変数とリストの違い

変数とは、数字や文字を入れられる箱のことです。

箱の中身から入れたものを取り出し画面に表示させたり、違う文字や数値を入れることができます。

変数とリストの違いは、変数は1つの値しか入れられないのに対して、リストはいくつもの値を保存できる点です。

関連した値が多数ある場合は、リストを使うことで簡単にプログラミングができます。

また、リスト(配列)は、変数が1列に横に並んでいる状態のため、配列も変数と言えます。

スクラッチのリストの作り方

ここからは、実際にリストの作り方を紹介していきます。

まず、「変数」ブロックの中の「リストを作る」をクリックします。

「新しいリスト」画面が表示されたら、「新しいリスト名」に作りたいリストの名前を入力してから、「OK」をクリックします。

すると、新しく作った「月」のリストが追加されました。

また、ステージ左上には、作成した「月」リストの一覧が表示されています。

作成時の中身は「空」の状態ですが、「〇をリストに追加する」ブロックなどを使って、リストに値を代入していきます。

2つのリストの違い

スクラッチのリストの作り方では、あえて説明を省きましたが、「新しいリスト」画面の中で、以下の2つの選択する項目がありました。

  • すべてのスプライト用
  • このスプライトのみ

これらはプログラミングの世界ではスコープと呼ばれるものです。

スコープとは、作成したリストの有効範囲のことです。

先ほど、リスト(配列)は、変数が1列に横に並んでいる状態のため、配列も変数と言えると説明しましたが、有効範囲によって「ローカル変数」や「グローバル変数」に分けられます。

すべてのスプライト用(グローバル変数)

「月」リストを作成したときは、規定の「すべてのスプライト用」を設定していましたので、どこからでも取り出したり、書き込んだりできるリストです。

このような開放的な変数を「グローバル変数」と言います。

「月」リストは、スクラッチキャットのスプライトで作成しましたが、他のBallスプライトを選択しても、「月」リストが使えます。

このスプライトのみ(ローカル変数)

Ballスプライトを選択した状態で、「日」リストを作成してみましょう。

「日」リストでは、「このスプライトのみ」を選択して作成します。

「日」リストが作成され、「〇をリストに追加する」ブロックでも「日」リストを選択できます。

次に、スクラッチキャットのスプライトを選択すると、ステージ上では、「日」リストを確認ができますが、「日」リストのブロックが無くなってしまいました。

「〇をリストに追加する」ブロックでも「日」リストは選択できないようになっています。

つまり、「日」リストを使えるのは、Ballスプライトのみで、他のスプライトでは使うことができません。

こういった閉鎖的な変数を「ローカル変数」と呼びます。

変数のスコープは必要以上に広げないのがプログラミングの基本です。

そのスプライトだけでしか使わないような変数の場合は、「このスプライトのみ」を選択した方がよいでしょう。

ローカル変数とグローバル変数の違いについては、「スクラッチのローカル変数とグローバル変数とは?違いについて徹底解説!」で詳しく解説していますので、ご確認ください。

まとめ

ここまで、こちらでは、スクラッチのリストの作り方について、詳しく解説してきました。

リストはとても便利な機能です。

使い慣れてくると、その便利さが分かってきますので、どんどんプルグラミングに活かしてください。