提供:Japanese Scratch-Wiki

このきじは ひらがなでよめます。ひらがなでよむ

変数は、Scratch上での「変更できる値」である。変数は、リストと異なり、1つのものに対して1つの値しか入れられない。[注 1]

変数には、数値や文字列が記録できる。スクリプトエリアにある変数のブロックをクリックすると、変数の値が表示される。他の多くのプログラミング言語(たとえば、JavaScript)などと違い、変数は、実行前に作成しないといけない。[注 2]

変数は、変数カテゴリの「変数を作る」ボタンで作成できる。変数を右クリックすると、名前の変更・削除ができる。Scratch 3.0以降、変数を削除すると、その変数が使われたブロックが削除されるようになった。

変数ブロック

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

制限

変数の個数と格納容量に制限はない (クラウド変数を除く)。Scratch 2.0では、変数の格納容量が10240文字に制限されていたが、Scratch 3.0で制限は撤廃された。

タイプ

様々な変数

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

グローバル変数

グローバル変数の作成

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

ローカル変数

ローカル変数の作成

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

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

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

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

ローカル変数をグローバル変数にするには、ローカル変数が使われたスクリプトをステージにドラッグするといい。ドラッグすると、使われたローカル変数は名前が「Stage:」で始まるグローバル変数になる。

クラウド変数

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

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

使い方

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

変数の表示

変数には、ステージモニターがある。表示するには、

変数 [変数 v] を表示する

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

変数 [変数 v] を隠す

を実行する、右クリックして「隠す」を選ぶといった方法がある。

不具合

Archive.png この項目には、最新バージョンのScratchには存在しない機能について書かれています。現在は使うことができないので、注意してください。

引数の定義

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

delete

バグが起こった変数

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

リスト

詳細は「リスト」を参照

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

関連項目

外部リンク

  • 変数—Wikipediaの「変数」

出典


注釈

  1. ただし、リストはエンコードやデコードをすることで、変数に入れられる。
  2. 存在しない変数に関するブロックは、実行時に変数が作成される。
  3. これは、グローバル変数やクラウド変数の値を読み取ることもできる。
Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。