提供: Japanese Scratch-Wiki

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

2019年4月25日 (木) 02:24時点における最新版

このきじは ひらがなのページがありません。ごめんなさい。
変数は、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で修正され、もう機能しない。

変数・リスト・クラウド変数の不具合(3.0、2019/2/5現在)

現在、変数・リスト・クラウド変数の不具合が多数報告されています。大まかな内容は

  • 変数を作成したのに反映されない
  • 変数がスクリプトエリアにあるにも関わらず、パレットに表示されない
  • スライダーのつまみ部分が表示されない
  • 他人がクラウド変数の値を変更できてしまう。
  • きちんとクラウド変数が更新されない(動的に変更されない・値がリセットされる)

これらのバグは現在は修正されており、3.0でもクラウド変数を正常に使用することができるようになっている。

delete

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

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

リスト

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

変数の使用例を示す。

関連項目

外部リンク

  • 変数—Wikipediaの「変数」

出典


注釈

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