プログラミングで欠かせないのが「変数」。
こちらでは、スクラッチの変数の作り方と3つの変数の違いについて、詳しく解説しています。
変数とは?
変数とは、数字や文字を入れられる箱のことです。
箱の中身から入れたものを取り出し画面に表示させたり、違う文字や数値を入れることができます。
スクラッチのデフォルトの変数
スクラッチで新しいプロジェクトを開くと、デフォルトで「変数」という名前の変数が出来ています。
同じ名前なので、ややこしいですが、「変数」という名前の箱です。
変数の名前変更
名前を代えたい場合は、「変数」ブロックの上で、右クリックします。
するとメニューが表示されるので「変数名を変更」をクリックしてください。
変数名を変更の画面が表示されるので、変数名を変えて、「OK」をクリックします。
すると、変数の名前が、「カウンター」に変更されました。
これは、「カウンター」という名前の箱に変わったということです。
変数の削除
もしも作った変数を削除したい場合は、削除したい「変数」ブロックの上で、右クリックして、「変数”〇〇”を削除」をクリックしてください。
すると、変数が削除されます。
スクラッチの変数の作り方
ここからは実際に変数の作り方を紹介していきます。
まず、「変数」ブロックの中の「変数を作る」をクリックします。
「新しい変数」画面が表示されたら、「新しい変数名」に作りたい変数の名前を入力してから、「OK」をクリックします。
すると、新しく作った「色」の変数が追加されました。
3つの変数の違い
スクラッチの変数の作り方では、あえて説明を省きましたが、「新しい変数」画面の中で、以下の3つの選択する項目がありました。
- すべてのスプライト用
- このスプライトのみ
- クラウド変数(サーバーに保存)
これらはプログラミングの世界ではスコープと呼ばれるものです。
スコープとは、作成した変数の有効範囲のことです。
すべてのスプライト用(グローバル変数)
「すべてのスプライト用」を選択した場合は、どこからでも取り出したり、書き込んだりできる変数です。
こういった開放的な変数を「グローバル変数」と呼びます。
どこからでもアクセスできる分、プログラミングのミスが命取りになることも。
ローカル変数とグローバル変数の違いについては、「スクラッチのローカル変数とグローバル変数とは?違いについて徹底解説!」で詳しく解説していますので、ご確認ください。
グローバル変数の例
こちらは、「すべてのスプライト用」のグローバル変数を使った例です。
「言葉」というグローバル変数に「おはよう」を入れています。
スプライト「ねこ」「かに」は、グローバル変数「言葉」を使った同じプログラムです。
こちらを実行すると、2つのスプライトとも「おはよう」と言っています。
このようにすべてのスプライトで共通して使える変数を「グローバル変数」といいます。
このスプライトのみ(ローカル変数)
「このスプライトのみ」を選択した場合は、変数を作成したスプライトの中だけでしか、作成した変数を使うことができません。
こういった閉鎖的な変数を「ローカル変数」と呼びます。
変数のスコープは必要以上に広げないのがプログラミングの基本です。
そのスプライトだけでしか使わないような変数の場合は、「このスプライトのみ」を選択した方がよいでしょう。
ローカル変数の例
こちらは、「このスプライトのみ」のローカル変数を使った例です。
さきほどと同じ「言葉」という名前の変数ですが、ステージモニターをみると2つありますよね。
- ねこ:言葉[おはよう]・・・スプライト「ねこ」のローカル変数「言葉」
- かに:言葉[こんばんは]・・・スプライト「かに」のローカル変数「言葉」
こちらは、どのスプライトのローカル変数か分かるように「〇〇:ローカル変数名」と表示されています。
スプライト「ねこ」のローカル変数「言葉」には「おはよう」、スプライト「かに」のローカル変数「言葉」には「こんばんは」を入れました。
プログラムの内容は、さきほどとまったく同じ内容ですが、実行してみると、
スプライト「ねこ」が「おはよう」、スプライト「かに」が「こんばんは」とそれぞれ違う言葉を言っていますよね?
このように同じ変数名でも、そのスプライトの中でしか使うことができない変数を「ローカル変数」といいます。
クラウド変数(サーバーに保存)
最後は、「クラウド変数」です。
クラウド変数は、Scratchのクラウド上に保存される変数で、ブラウザを閉じたとしてもリセットされません。(ローカル変数、グローバル変数はリセットされる)
プロジェクトを公開した際に、不特定多数の人の得点をランキング形式で保持したい場合などに用いられたりします。
ただ、中には、このように「クラウド変数」が表示されていないユーザーもいるかと思います。
「クラウド変数」が使えるのは、「Scratcher(スクラッチャー)」のみです。
新しくアカウントを作成したばかりのNewScratcherの方は利用できません。
Scratcher(スクラッチャー)になる方法については、「NewScratcherからScratcher(スクラッチャー)になる条件まとめ」で詳しくまとめていますので、ご確認ください。
まとめ
ここまで、こちらでは、スクラッチの変数の作り方と3つの変数の違いについて、詳しく解説してきました。
変数はプログラミングでは欠かせないものです。
使い慣れてくると、その便利さが分かってきますので、どんどんプルグラミングに活かしてください。