提供: Japanese Scratch-Wiki

このきじは ひらがなのページがありません。ごめんなさい。編集者向け:作成する
変数は、Scratch上での「変更できる値」である。変数は、リストと異なり、1つのものに対して1つの値しか入れられない。[注 1]変数には、数値や文字列が記録できる。スクリプトエリアにある変数のブロックをクリックすると、変数の値が表示される。他の多くのプログラミング言語(たとえば、JavaScript)などと違い、変数は、実行前に作成しないといけない。[注 2]変数は、データカテゴリの「変数を作る」ボタンで作成できる。

変数ブロック

変数を扱うブロックは、次の5種類ある。

変数のタイプ

様々な変数

Scratch 1.4では、グローバル変数とローカル変数の二つの種類がある。Scratch 2.0では、クラウド変数が追加された。これは、全世界で値を共有できるものである。

グローバル変数

グローバル変数の作成

なにも設定せずに変数を作るとこれになる。グローバル変数は、ステージとすべてのスプライトから読み書きでき、初期値はファイルに保存される。

ローカル変数

ローカル変数の作成

ローカル変数は、このスプライトのみ値を変更できる変数である。作るには、変数作成ダイアログで、「このスプライトのみ」を選択する必要がある。他のスプライトやステージから値を読み取るには、([スプライト1 v] の [変数 v]::sensing)を使用する。なおこの機能は現在実装中である。[注 3]ステージにローカル変数はない。

ローカル変数は、スプライトを複製する場合に便利である。どんなに多く複製しても、ローカル変数なら変数の干渉は起きない。

Warning メモ: クローンに対して、クローン元のローカル変数の値は継承されるが、クローンからの変更はクローン元に影響を与えない

存在しない変数をクリックしたり、存在しない変数に関するブロックを実行すると、自動でローカル変数が作成される。ただし、ステージで行った場合、グローバル変数が作成される。

クラウド変数

詳細は「クラウドデータ」を参照

クラウド変数は、全世界で値を共有できる特別な変数である。現時点では、数値のみ保存できる。通常、10個までしか作成できない。また、New Scratcherは、作成や値の保存ができない。クラウド変数には、変数名の最初に「☁」が付く。

使い方

変数は、値の記憶に最も適している。変数の値は、他の値ブロックと同じように読み出せる。

変数の表示
変数には、ステージモニターがある。表示するには、変数 [変数 v] を表示するを使用するか、他のステージモニターと同じように、データカテゴリのチェックボックスを入れる。変数には、通常の表示、大きな表示、スライダーの3つの表示方法がある。変更するには、ステージモニターを右クリックするか、ダブルクリックをする。ステージモニターを隠すには、チェックボックスを外す、変数 [変数 v] を隠すを実行する、右クリックして「隠す」を選ぶといった方法がある。

スライダーの最小/最大値はまだ実装されていない。

変数の不具合

引数の定義

変数名に特定の値を利用すると、バグが起きることがわかっていた。たとえば、%から始まる「%s」や「%m.var」などである。これらを入力すると、文字入力の項目がある変数や、選択できる変数ができた。これは、Scratchが%で始まるものをブロックの引数の種類として定義するからである。また、ブロックの絵文字を表示することもできた。これはv423で修正され、もう機能しない。

delete

Archive.png この項目またはセクションには、Scratch 3.0の現行バージョンに含まれていない機能が記載されています。これは歴史的な観点からのみ有用です。
バグが起こった変数

変数名「delete」は、プルダウンメニューでは「削除」になる。これはScratch 3.0で解決された。

リスト

リストは、変数と同じで、値の記憶に使える。リストは、保存する量が多い場合、保存する量が分からない場合に使われる。

変数の使用例を示す。

関連項目

外部リンク

  • 変数—Wikipediaの「変数」

出典


注釈

  1. ただし、リストはエンコードやデコードをすることで、変数に入れられる。
  2. 存在しない変数に関するブロックは、実行時に変数が作成される。
  3. これは、グローバル変数やクラウド変数の値を読み取ることもできる。