「変数」の版間の差分
編集の要約なし |
編集の要約なし |
||
7行目: | 7行目: | ||
print(a); | print(a); | ||
通常、変数に代入されるのは常にその値です。つまり、ある変数に式の値を代入するとその値がコピーされ代入されます。 | 通常、変数に代入されるのは常にその値です。つまり、ある変数に式の値を代入するとその値がコピーされ代入されます。 | ||
= | =ローカル変数とスコープ= | ||
変数はその有効な範囲内で、一意な名前である必要があります。この範囲をその変数のスコープと呼びます。スコープの範囲内では、同じ名前の変数を定義することはできませんし、反対にスコープの外に出ると、その範囲内で定義した変数は使用できません。 | 変数はその有効な範囲内で、一意な名前である必要があります。この範囲をその変数のスコープと呼びます。スコープの範囲内では、同じ名前の変数を定義することはできませんし、反対にスコープの外に出ると、その範囲内で定義した変数は使用できません。 | ||
AliceScriptでいうところのスコープの範囲は、原則としてそのコードのブロック内です。コードのブロックは、およそそのコードの波括弧の中を指します。次の例を参照してください。 | AliceScriptでいうところのスコープの範囲は、原則としてそのコードのブロック内です。コードのブロックは、およそそのコードの波括弧の中を指します。次の例を参照してください。 | ||
17行目: | 17行目: | ||
print(a);//例外発生 | print(a);//例外発生 | ||
上記の例ではFuncを呼び出すことで、変数<code>a</code>が定義されていますがそのスコープの範囲外での呼び出しのため、関数外で変数<code>a</code>を使用することはできません。また、インクルードしたファイルに対してもスコープが適用されます。このため、異なるスクリプトファイル間でローカル変数を共有することはできません。 | 上記の例ではFuncを呼び出すことで、変数<code>a</code>が定義されていますがそのスコープの範囲外での呼び出しのため、関数外で変数<code>a</code>を使用することはできません。また、インクルードしたファイルに対してもスコープが適用されます。このため、異なるスクリプトファイル間でローカル変数を共有することはできません。 | ||
=グローバル変数= | |||
ローカル変数と反対の性質を持つものとして、 | |||
=variable型= | =variable型= | ||
<code>variable</code>型は、すべての変数の値を表します。<code>variable</code>型は等値演算子をサポートします。この型から文字列型にのみ暗黙的な変換をサポートします。<code>variable</code>型のメソッドは次の通りです。 | <code>variable</code>型は、すべての変数の値を表します。<code>variable</code>型は等値演算子をサポートします。この型から文字列型にのみ暗黙的な変換をサポートします。<code>variable</code>型のメソッドは次の通りです。 |