破壊的変更の一覧のソースを表示
←
破壊的変更の一覧
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
AliceScriptの歴史を通じて、AliceScriptのバージョン間および異なる実装間で高いレベルの互換性を維持することに力が注がれてきました。 多くの開発者は、AliceScriptの異なる実装間の互換性とともに、AliceScriptの特定の実装のバージョン間についても高いレベルの互換性を期待します。 特に、以前のバージョンのAliceScript用に書かれたコードは、AliceScriptの新しいバージョンでもシームレスに動作することを期待します。 実際、多くの開発者は、新しくリリースされたAlice.RuntimeにあるAPIが、それらのAPIが導入された初めのバージョンとも互換性があると期待します。 この記事では、AliceScriptまたはAlice.Runtimeに対して行われた変更の詳細と、それがアプリケーションの互換性に与える影響について説明します。変更は「承認」されているか「非承認」であるか、動作の予測や期待通りの動作の維持が不十分であると判断され、「見送り」されているかのいずれかです。 {|class="wikitable" algin=“center” |+style="white-space:nowrap"| !colspan="2"|変更のステータス |承認状況 |影響する範囲 |変更が行われたバージョン |} ==Typeプロパティ== {|class="wikitable" algin=“center” |+style="white-space:nowrap"| !colspan="2"|変更のステータス |承認 |AliceScript |RC1 |} AliceScriptRC1以前のバージョンでは、Typeプロパティはその値の型を表す文字列表現を返していました。AliceScriptRC2からはTypeプロパティは<code>type</code>型を返すため、戻り値の型が変わります。 この変更による影響を緩和するために、<code>type</code>型から<code>string</code>型への一方向の暗黙的な変換が用意されているため、この変更は承認されました。 ==定義されていない変数への値の代入の禁止== {|class="wikitable" algin=“center” |+style="white-space:nowrap"| !colspan="2"|変更のステータス |承認 |AliceScript |RC1 |} AliceScriptRC1以前のバージョンでは、定義されていない変数にも<code>var</code>キーワードを使用しないで変数を定義することができました。これは未アクセスの変数に対して値が存在するか確認できないという潜在的な欠陥が存在しているため使用できなくなります。次は未定義の変数<code>a</code>に<code>12345</code>を代入し定義するコードです。AliceScriptRC1以前では動作していましたが今は動作しません。 a = 12345; AliceScriptRC2以降でこれと同じ動作を行うことができる唯一の方法は次の通りです。 var a = 12345; 変数を定義した後の代入に関する動作に変更はありません。この変更は承認されました。 ==暗黙的な型変換の廃止== {|class="wikitable" algin=“center” |+style="white-space:nowrap"| !colspan="2"|変更のステータス |承認 |AliceScript |RC1 |} AliceScriptRC1以前のバージョンでは、関数などの対応する型が与えられた型ではない場合、自動的にその値を対応する型に変換します。これを暗黙的な型変換とよびますが、これは本来の用途に使用できない値などが与えられても例外が発生することなく予期しない動作をしてしまう可能性がありました。これを解消するために暗黙的な型変換は廃止されました。この変更は承認されました。 また、もう一つの解決策として、[[関数#引数|引数の型指定]]を行うことも検討してください。 =変数/関数のスコープ= {|class="wikitable" algin=“center” |+style="white-space:nowrap"| !colspan="2"|変更のステータス |承認 |AliceScript |GM |} AliceScriptGM以前のバージョンでは、変数と関数、定数はすべてグローバルとして定義されていました。これは複数回同じファイルを実行する際に重複定義が発生してしまうおそれがあるなどの潜在的な欠陥を有していました。AliceScriptGMでは、スコープが導入され、そのスコープの範囲内で宣言された変数と関数、定数はいずれもその範囲外では使用できなくなりました。これはネストされたスコープに対しても有効です。この変更は承認されました。
このページで参照読み込みされているページ:
テンプレート:Alert
(
ソースを閲覧
)
テンプレート:Func-getcolor
(
ソースを閲覧
)
テンプレート:Func-getsafe
(
ソースを閲覧
)
破壊的変更の一覧
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
associated-pages
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
ツアー
ダウンロード
規約
おまかせ表示
ツール
リンク元
関連ページの更新状況
ページ情報