「変数」の版間の差分
編集の要約なし |
|||
7行目: | 7行目: | ||
print(a); | print(a); | ||
通常、変数に代入されるのは常にその値です。つまり、ある変数に式の値を代入するとその値がコピーされ代入されます。 | 通常、変数に代入されるのは常にその値です。つまり、ある変数に式の値を代入するとその値がコピーされ代入されます。 | ||
通常、変数を定義する際は次の形で宣言します。 | |||
var (修飾子) 名前 = 値; | |||
=ローカル変数とスコープ= | =ローカル変数とスコープ= | ||
変数はその有効な範囲内で、一意な名前である必要があります。この範囲をその変数のスコープと呼びます。スコープの範囲内では、同じ名前の変数を定義することはできませんし、反対にスコープの外に出ると、その範囲内で定義した変数は使用できません。 | 変数はその有効な範囲内で、一意な名前である必要があります。この範囲をその変数のスコープと呼びます。スコープの範囲内では、同じ名前の変数を定義することはできませんし、反対にスコープの外に出ると、その範囲内で定義した変数は使用できません。 | ||
18行目: | 20行目: | ||
上記の例ではFuncを呼び出すことで、ローカル変数<code>a</code>が定義されていますがそのスコープの範囲外での呼び出しのため、関数外で変数<code>a</code>を使用することはできません。また、インクルードしたファイルに対してもスコープが適用されます。このため、異なるスクリプトファイル間でローカル変数を共有することはできません。 | 上記の例ではFuncを呼び出すことで、ローカル変数<code>a</code>が定義されていますがそのスコープの範囲外での呼び出しのため、関数外で変数<code>a</code>を使用することはできません。また、インクルードしたファイルに対してもスコープが適用されます。このため、異なるスクリプトファイル間でローカル変数を共有することはできません。 | ||
=グローバル変数= | =グローバル変数= | ||
ローカル変数と反対の性質を持つものとして、グローバル変数があります。これは、スコープ内外のどこでも定義でき、定義されたスコープ外でもその変数を使用できます。グローバル変数はスクリプトではなくインタプリタに直接登録されます。その変数をグローバル変数として宣言定義するには<code>global</code> | ローカル変数と反対の性質を持つものとして、グローバル変数があります。これは、スコープ内外のどこでも定義でき、定義されたスコープ外でもその変数を使用できます。グローバル変数はスクリプトではなくインタプリタに直接登録されます。その変数をグローバル変数として宣言定義するには<code>global</code>キーワードを使用します。 | ||
function Func() | function Func() | ||
{ | { | ||
26行目: | 28行目: | ||
print(a);//出力:123 | print(a);//出力:123 | ||
上記の例ではFuncを呼び出すことで、グローバル変数<code>a</code>が定義されているため、Funcの呼び出し後には、そのインタプリタで実行されるすべてのコードでグローバル変数<code>a</code>が使用できます。 | 上記の例ではFuncを呼び出すことで、グローバル変数<code>a</code>が定義されているため、Funcの呼び出し後には、そのインタプリタで実行されるすべてのコードでグローバル変数<code>a</code>が使用できます。 | ||
=定数= | |||
定数は、変数とは異なり、一度宣言すると再度代入したり値を変更することができません。これは、プログラム上で変更されたくない値(トークンなど)を定義する際に役立ちます。定数にもスコープが存在し、ローカル定数とグローバル定数があります。定数を定義するには<code>var</code>ではなく<code>const</code>キーワードを使用します。 | |||
const KEY = “ABCD”; | |||
print(KEY);//出力例:ABCD | |||
KEY = “EFGH”;//例外発生 | |||
=型= | =型= | ||
AliceScriptのすべての変数および定数は、値に評価されるすべての[[式]]と同じように、型を持ちます。インタプリタはコード内で実行されるすべての演算が型安全になるようにします。例えば<code>number</code>型の変数には、その値を加算したり減算したりする算術演算が許可されます。しかし、<code>bool</code>型にはその種類の演算は許可されません。次に、特定の型の規定値を使用して変数を初期化する例を示します。 | AliceScriptのすべての変数および定数は、値に評価されるすべての[[式]]と同じように、型を持ちます。インタプリタはコード内で実行されるすべての演算が型安全になるようにします。例えば<code>number</code>型の変数には、その値を加算したり減算したりする算術演算が許可されます。しかし、<code>bool</code>型にはその種類の演算は許可されません。次に、特定の型の規定値を使用して変数を初期化する例を示します。 |