提供: Japanese Scratch-Wiki

(太字指定、訳の修正、使用テンプレートの他記事との統一。)
 
(5人の利用者による、間の20版が非表示)
1行目: 1行目:
'''変数'''は、[[Scratch]]上での「変更できる値」です。変数は、リストと異なり、1つのものに対して1つの値しか入れられません。<ref group="注">ただし、リストはエンコードやデコードをすることで、変数に入れられます。</ref>変数には、数値や文字列が記録できます。スクリプトエリアにある変数の[[ブロック]]をクリックすると、変数の値が表示されます。他の多くのプログラミング言語(たとえば、JavaScript)などと違い、変数は、実行前に作成しないといけません。<ref group="注">存在しない変数に関するブロックは、実行時に変数が作成されます。</ref>変数は、データカテゴリの「変数を作る」ボタンで作成できます。
+
{{ひらがなヘッダ}}
 +
'''変数'''は、[[Scratch]]上での「変更できる値」である。変数は、リストと異なり、1つのものに対して1つの値しか入れられない。<ref group="注">ただし、リストはエンコードやデコードをすることで、変数に入れられる。</ref>変数には、数値や文字列が記録できる。スクリプトエリアにある変数の[[ブロック]]をクリックすると、変数の値が表示される。他の多くのプログラミング言語(たとえば、JavaScript)などと違い、変数は、実行前に作成しないといけない。<ref group="注">存在しない変数に関するブロックは、実行時に変数が作成される。</ref>変数は、データカテゴリの「変数を作る」ボタンで作成できる。変数を右クリックすると、名前の変更・削除ができる。[[Scratch 3.0]]以降、変数を削除すると、その変数が使われたブロックが削除されるようになった。
  
== [[変数ブロック]] ==
+
== 変数ブロック ==
変数を扱うブロックは、5種類あります。
+
[[変数ブロック|変数を扱うブロック]]は、次の5種類ある。
 
*[[() (変数ブロック)|<sb>(変数)</sb>]]
 
*[[() (変数ブロック)|<sb>(変数)</sb>]]
 
*[[() を () にする (ブロック)|<sb> [変数 v] を (0) にする</sb>]]
 
*[[() を () にする (ブロック)|<sb> [変数 v] を (0) にする</sb>]]
8行目: 9行目:
 
*[[変数 () を表示する (ブロック)|<sb>変数 [変数 v] を表示する</sb>]]
 
*[[変数 () を表示する (ブロック)|<sb>変数 [変数 v] を表示する</sb>]]
 
*[[変数 () を隠す (ブロック)|<sb>変数 [変数 v] を隠す</sb>]]
 
*[[変数 () を隠す (ブロック)|<sb>変数 [変数 v] を隠す</sb>]]
 +
 +
== 変数の制限 ==
 +
変数の個数と格納容量に制限はない。([[クラウド変数]]を除く: 当該ページを参照)[[Scratch 2.0]]では、変数の格納容量が10240文字に制限されていた。
  
 
== 変数のタイプ ==
 
== 変数のタイプ ==
[[Scratch 1.4]]では、2つのタイプがありました。グローバル変数とローカル変数です。[[Scratch 2.0]]では、[[クラウドデータ|クラウド変数]]が追加されました。これは、全世界で値を共有できるものです。
+
[[ファイル:{{#setmainimage:3.0 変数ブロックたち.png}}|thumb|right|様々な変数]]
 +
[[Scratch 1.4]]では、グローバル変数とローカル変数の二つの種類がある。[[Scratch 2.0]]では、[[クラウドデータ|クラウド変数]]が追加された。これは、全世界で値を共有できるものである。
  
 
=== グローバル変数 ===
 
=== グローバル変数 ===
もっとも基本的な変数で、なにも設定せずに変数を作るとこれになります。グローバル変数は、ステージとすべての[[スプライト]]から読み書きでき、初期値はファイルに保存されます。
+
[[ファイル:3.0 Create Variable.png|thumb|150px|right|グローバル変数の作成]]
 +
なにも設定せずに変数を作るとこれになる。グローバル変数は、ステージとすべての[[スプライト]]から読み書きでき、初期値はファイルに保存される。
  
 
=== ローカル変数 ===
 
=== ローカル変数 ===
ローカル変数は、このスプライトのみ値を変更できる変数です。[[ファイル:変数の作成.png|thumb|150px|right|変数の作成]]作るには、変数作成ダイアログで、「このスプライトのみ」を選択する必要があります。他のスプライトやステージから値を読み取るには、[[() ( () )(調べるブロック)|<sb>([x座標 v] \( [Sprite1 v] \))</sb>]]を使用します。<ref group="注">これは、グローバル変数やクラウド変数の値を読み取ることもできます。</ref>ステージにローカル変数はありません。
+
[[ファイル:ローカル変数 3.0.png|thumb|150px|right|ローカル変数の作成]]
 +
ローカル変数(プライベート変数、スプライト変数などともいわれる)は、このスプライトのみ値を変更できる変数である。作るには、変数作成ダイアログで、「このスプライトのみ」を選択する必要がある。他のスプライトやステージから値を読み取るには、[[() () (調べるブロック)|<sb>([スプライト1 v] [変数 v]::sensing)</sb>]]を使用する。<ref group="注">これは、グローバル変数やクラウド変数の値を読み取ることもできる。</ref>ステージにローカル変数はない。
 +
 
 +
ローカル変数は、スプライトを複製する場合に便利である。どんなに多く複製しても、ローカル変数なら変数の干渉は起きない。
 +
{{メモ|[[クローン]]に対して、クローン元のローカル変数の値は継承されるが、クローンからの変更はクローン元に影響を与えない。参照: [[クローンの応用]]}}
 +
存在しない変数をクリックしたり、存在しない変数に関するブロックを実行すると、自動でローカル変数が作成される。ただし、ステージで行った場合、グローバル変数が作成される。
 +
 
 +
ローカル変数をグローバル変数にするには、ローカル変数が使われたスクリプトをステージにドラッグするといい。ドラッグすると、使われたローカル変数は名前が「Stage:」で始まるグローバル変数になる。
  
ローカル変数は、スプライトを複製する場合に便利です。どんなに多く複製しても、ローカル変数なら変数の干渉は起きません。
 
{{メモ|[[クローン(clone)|クローン]]に対して、クローン元のローカル変数の値は継承されますが、クローンからの変更はクローン元に影響を与えません}}
 
存在しない変数をクリックしたり、存在しない変数に関するブロックを実行すると、自動でローカル変数が作成されます。ただし、ステージで行った場合、グローバル変数が作成されます。
 
 
=== クラウド変数 ===
 
=== クラウド変数 ===
 
{{メイン|クラウドデータ}}
 
{{メイン|クラウドデータ}}
クラウド変数は、全世界で値を共有できる特別な変数です。現時点では、数値のみ保存できます。通常、10までしか作成できません。また、[[New Scratcher]]は、作成や値の保存ができません。クラウド変数には、変数名の最初に「☁」が付きます。
+
クラウド変数は、全世界で値を共有できる特別な変数である。現時点では、数値のみ保存できる。通常、10個までしか作成できない。また、[[New Scratcher]]は、作成や値の保存ができない。クラウド変数には、変数名の最初に「☁」が付く。
  
 
== 使い方 ==
 
== 使い方 ==
変数は、値の記憶に最も適しています。変数の値は、他の[[値ブロック]]と同じように読み出せます。
+
変数は、値の記憶に最も適している。変数の値は、他の[[値ブロック]]と同じように読み出せる。
 
 
[[ファイル:変数の表示.png|thumb|left|変数の表示]]変数には、[[ステージモニター]]があります。表示するには、<sb>変数 [変数 v] を表示する</sb>を使用するか、他のステージモニターと同じように、データカテゴリのチェックボックスを入れます。変数には、通常の表示、大きな表示、スライダーの3つの表示方法があります。変更するには、ステージモニターを右クリックします。ステージモニターを隠すには、チェックボックスを外す、<sb>変数 [変数 v] を隠す</sb>を実行する、右クリックして「隠す」を選ぶといった方法があります。
 
  
[[ファイル:スライダーの範囲を設定.png|thumb|right|スライダーの範囲の設定]]ステージモニターの種類が「スライダー」の場合、最小値と最大値が設定できます。右クリックすると、「スライダーの最小値と最大値を設定」という項目があります。そこをクリックすれば、変更ができます。
+
[[File:3.0 変数の三態.jpg|thumb|left|変数の表示]]
 +
変数には、[[ステージモニター]]がある。表示するには、<scratchblocks>変数 [変数 v] を表示する</scratchblocks>を使用するか、他のステージモニターと同じように、データカテゴリのチェックボックスを入れる。変数には、通常の表示、大きな表示、スライダーの3つの表示方法がある。変更するには、ステージモニターを右クリックするか、ダブルクリックをする。ステージモニターを隠すには、チェックボックスを外す、<scratchblocks>変数 [変数 v] を隠す</scratchblocks>を実行する、右クリックして「隠す」を選ぶといった方法がある。
  
 
== 変数の不具合 ==
 
== 変数の不具合 ==
 +
{{廃止された機能|cat=no}}
 
=== 引数の定義 ===
 
=== 引数の定義 ===
変数名に特定の値を利用すると、バグが起きることがわかっていました。たとえば、%から始まる「%s」や「%m.var」などです。これらを入力すると、文字入力の項目がある変数や、選択できる変数ができました。これは、Scratchが%で始まるものをブロックの引数の種類として定義するからです。また、[[ブロックの絵文字]]を表示することもできました。これはv423で修正され、もう機能しません。
+
変数名に特定の値を利用すると、バグが起きることがわかっていた。たとえば、%から始まる「%s」や「%m.var」などである。これらを入力すると、文字入力の項目がある変数や、選択できる変数ができた。これは、Scratchが%で始まるものをブロックの引数の種類として定義するからである。また、[[ブロックの絵文字]]を表示することもできた。これはv423で修正され、もう機能しない。
 +
 
 
=== delete ===
 
=== delete ===
 
[[ファイル:削除をdeleteにする.png|150px|thumb|right|バグが起こった変数]]
 
[[ファイル:削除をdeleteにする.png|150px|thumb|right|バグが起こった変数]]
変数名「delete」は、プルダウンメニューでは「削除」になります。これはまだ解決されていません。
+
変数名「delete」は、プルダウンメニューでは「削除」になる。これは[[Scratch 3.0]]で解決された。
  
 
== リスト ==
 
== リスト ==
リストは、変数と同じで、値の記憶に使えます。リストは、保存する量が多い場合、保存する量が分からない場合に使われます。
+
[[リスト]]は、変数と同じで、値の記憶に使える。リストは、保存する量が多い場合、保存する量が分からない場合に使われる。
  
 
== 例 ==
 
== 例 ==
変数の使用例を示します。
+
変数の使用例を示す。
* https://scratch.mit.edu/projects/143510828/ {{@|mochimochiking}}さんの作品:スライダーをスイッチのように使っています。
+
* [[scratch:projects/143510828|https://scratch.mit.edu/projects/143510828/]] {{@|mochimochiking}}さんの作品:スライダーをスイッチのように使っている。
* https://scratch.mit.edu/projects/36288030/ {{@|2003kaito}}さんの作品:変数の値をパディングしたりするなどの方法で、変数に文字を「流す」ことができます。
+
 
  
 
== 関連項目 ==
 
== 関連項目 ==
53行目: 64行目:
 
* [[ステージモニター]]
 
* [[ステージモニター]]
 
* [[クラウドデータ]]
 
* [[クラウドデータ]]
=== 関連リンク ===
+
== 外部リンク ==
* [[wikipedia:変数_(プログラミング)|変数]] Wikipediaの「変数」
+
* [[wikipedia:変数_(プログラミング)|変数]]{{-}}Wikipediaの「変数」
  
 
== 出典 ==
 
== 出典 ==
62行目: 73行目:
 
<references group="注"/>
 
<references group="注"/>
  
[[en:Variable]][[de:Variablen]][[id:Variabel]][[Category:Scratchプログラム]]
+
[[en:Variable]]
 +
[[de:Variablen]]
 +
[[id:Variabel]]
 +
[[Category:Scratchプログラム]]
 +
{{デフォルトソート:へんすう}}

2019年12月12日 (木) 19:25時点における最新版

このきじは ひらがなのページがありません。ごめんなさい。

変数は、Scratch上での「変更できる値」である。変数は、リストと異なり、1つのものに対して1つの値しか入れられない。[注 1]変数には、数値や文字列が記録できる。スクリプトエリアにある変数のブロックをクリックすると、変数の値が表示される。他の多くのプログラミング言語(たとえば、JavaScript)などと違い、変数は、実行前に作成しないといけない。[注 2]変数は、データカテゴリの「変数を作る」ボタンで作成できる。変数を右クリックすると、名前の変更・削除ができる。Scratch 3.0以降、変数を削除すると、その変数が使われたブロックが削除されるようになった。

変数ブロック

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

変数の制限

変数の個数と格納容量に制限はない。(クラウド変数を除く: 当該ページを参照)Scratch 2.0では、変数の格納容量が10240文字に制限されていた。

変数のタイプ

様々な変数

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

グローバル変数

グローバル変数の作成

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

ローカル変数

ローカル変数の作成

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

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

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

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

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

クラウド変数

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

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

使い方

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

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

変数の不具合

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

引数の定義

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

delete

バグが起こった変数

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

リスト

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

変数の使用例を示す。


関連項目

外部リンク

  • 変数—Wikipediaの「変数」

出典


注釈

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