「
破壊的変更の一覧
」を編集中
2021年12月13日 (月) 08:35時点における
Zen
(
トーク
|
投稿記録
)
による版
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
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では、スコープが導入され、そのスコープの範囲内で宣言された変数と関数、定数はいずれもその範囲外では使用できなくなりました。これはネストされたスコープに対しても有効です。この変更は承認されました。
編集内容の要約:
AliceScript Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
AliceScript Wiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
このページで使用されているテンプレート:
テンプレート:Alert
(
編集
)
テンプレート:Func-getcolor
(
編集
)
テンプレート:Func-getsafe
(
編集
)
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
案内
メインページ
ツアー
ダウンロード
規約
おまかせ表示
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報