AliceScript GoldenMasterの新機能
この記事では、AliceScript GoldenMasterの変更点と新機能について説明します
新機能
AliceScriptGMは、AliceScriptの初の安定リリースです。AliceScriptGMによって、AliceScriptに次の機能と機能強化が追加されています。 最新のAliceScriptADKはAliceScriptのダウンロードでダウンロードできます。
一部の暗黙的な変換の廃止
AliceScriptGMでは、プログラムミスを減らし、適切に例外を発生させる目的でbool型とnumber型、string型からnumber型への暗黙的な変換は廃止されました。
未定義の変数への代入の禁止
AliceScriptGMからは、varキーワードを使用することでのみ、未定義の変数を定義できます。定義されていない変数にアクセスすることはできない上、同じスコープ内で複数回同じ名前の変数をvarキーワードを使って宣言することはできません。このサイトにある一部の記事はまだ古いままで、変数の定義にvarキーワードを使用していなかったり、型指定修飾子を使用している場合がありますが、これは最新のバージョンのAliceScriptでは正しく動作しません。
関数・変数・定数のスコープ
関数や変数、定数のスコープはAliceScriptGMにおける重要な変更のひとつです。 AliceScriptGM以降のバージョンでは、関数や変数、定数はその有効な範囲内で、一意な名前である必要があります。この範囲をスコープと呼びます。スコープの範囲内では、同じ名前のオペランドを定義することはできませんし、反対にスコープの外に出ると、その範囲内で定義したオペランドは使用できません。 AliceScriptでいうところのスコープの範囲は、原則としてそのコードのブロック内です。コードのブロックは、およそそのコードの波括弧の中を指します。次の例を参照してください。
整数リテラルの2進表記および16進表記のサポート
AliceScriptGMからは、整数を2進数および16進数で記述できるようになります。整数を2進数で表現する場合は0bプレフィックスを、16進数で表現する場合は0xプレフィックスを使用します。次の例では、すべて10進数で256と等価な数を記述しています。
var decimalNum = 256;
var hexNum = 0x100;
var binaryNum = 0b100000000;
print(decimalNum==hexNum==binaryNum);//出力:True
逐語的文字列リテラル
シングルクォーテーション’で囲われた文字列は、逐語的文字列リテラルとして認識します。 逐語的文字列リテラルは、\’などの限定的なものを除き、ほとんどの文字がそのままの意味で解釈されます。 次の例ではどちらも"Hello,World"を表す文字列リテラルです。