編集の要約なし
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>型にはその種類の演算は許可されません。次に、特定の型の規定値を使用して変数を初期化する例を示します。