破壊的変更の一覧

提供: AliceScript Wiki
2021年12月6日 (月) 05:33時点におけるMaster (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

AliceScriptの歴史を通じて、AliceScriptのバージョン間および異なる実装間で高いレベルの互換性を維持することに力が注がれてきました。 多くの開発者は、AliceScriptの異なる実装間の互換性とともに、AliceScriptの特定の実装のバージョン間についても高いレベルの互換性を期待します。 特に、以前のバージョンのAliceScript用に書かれたコードは、AliceScriptの新しいバージョンでもシームレスに動作すること(これを後方互換性といいます)を期待します。 また、多くの開発者は、新しくリリースされたAliceScriptにあるAPIが、それらのAPIが導入された初めのバージョンとも互換性があると期待します。

この記事では、AliceScriptまたはAlice.Runtimeに対して行われた変更のカテゴリと、それがアプリケーションの互換性に与える影響について説明します。

Typeプロパティ

AliceScriptRC1以前のバージョンでは、Typeプロパティはその値の型を表す文字列表現を返していました。AliceScriptRC2からはTypeプロパティはtype型を返すため、戻り値の型が変わります。 この変更による影響を緩和するために、type型からstring型への一方向の暗黙的な変換が用意されているため、この変更は承認されました。

定義されていない変数への値の代入の禁止

AliceScriptRC1以前のバージョンでは、定義されていない変数にもvarキーワードを使用しないで変数を定義することができました。これは未アクセスの変数に対して値が存在するか確認できないという潜在的な欠陥が存在しているため使用できなくなります。次のコードはAliceScriptRC1以前では動作していましたが今は動作しません。

a = 12345;

AliceScriptRC2以降でこれと同じ動作を行うことができる唯一の方法は次の通りです。

var a = 12345;

変数を定義した後の代入に関する動作に変更はありません。この変更は承認されました。