「
新機能の一覧
」を編集中 (節単位)
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
=AliceScriptRC2の新機能= AliceScriptRC2は、RC1に続くAliceScriptの次のテストリリースです。AliceScriptRC2によって、AliceScriptに次の機能と機能強化が追加されています。 最新のAliceScriptADKは[[AliceScriptのダウンロード]]でダウンロードできます。 ==parmsパラメータ== AliceScriptRC2では、<code>parms</code>パラメータが導入されています。引数に<code>params</code>キーワードを使用すると、可変長個の引数を受け取る引数を指定できます。<code>params</code>の型は常にARRAYとなります。 一つの関数内では、<code>params</code>キーワードより後に引数を指定することができません。次に例を示します。 function PrintAllArgs(params args) { foreach(arg in args) { print(arg); } } PrintAllArgs("Hello","World"); //出力:["Hello","World"] ==引数の型指定== 引数の型指定では、ユーザ定義関数の引数に型を指定することができるようになりました。引数に<code>string</code>などの型指定修飾子を指定すると、その型のみを引数として受け入れることができるようになり、予期しない型による呼び出しを防ぐことができます。次に例を示します。 function Add(number a,number b) { return a+b; } Add(1,2);//戻り値:3 Add("1","2");//例外発生 ==デリゲートの簡易呼び出し== デリゲートの簡易呼び出しは、デリゲート型が変数に登録されている場合に<code>Invoke</code>メソッドを呼び出さずに<code>変数名(引数);</code>の形で呼び出しできるようにします。次に例を示します。 var SayHello = delegate() { print("Hello,World"); } SayHello();//出力例:Hello,World SayHello.Invoke();//出力例:Hello,World ==ユーザ定義定数== ユーザ定義定数では、<code>const</code>キーワードを使ってその値が一度のみ定義され変更することができない定数を宣言することができます。次に例を示します。 const Message="Hello,World"; print(Message);//出力例:Hello,World Message="Bonjur";//例外発生 ==デバッグ出力== デバッグ出力によって、コードのデバッグのための新しい出力が提供されます。今まで、デバッグのために<code>print</code>を用いて出力していたものを<code>debug_print</code>で 代用することができます。これらの関数は<code>Alice.Interpreter</code>名前空間にあります。例えば、次の例では、デバッグ用の出力と標準出力に別な内容が出力されます。 import "Alice.Interpreter"; print("Hello,Standard"); debug_print("Hello,Debug"); //標準出力:Hello,Standard //デバッグ出力:Hello,Debug ==例外のエラーコード== 例外のエラーコードによって、発生した例外に対して一貫してより高度な情報を得ることができるようになります。完全な日本語でのエラー出力によって発生した例外がプログラマだけでなくユーザにも親しみやすくなります。 例外のエラーコード、メッセージ、発生条件などについて詳しく知るには[[例外]]を参照してください。 ==Type型/型比較演算子== <code>type</code>型によって、変数の型に対する新たなアプローチが提供されます。全ての変数は<code>Type</code>プロパティを実装していて、その変数の型を表す値を取得することができます。<code>string</code>、<code>number</code>、<code>bool</code>キーワードなどはそれぞれの型の値を表す定数です。また、[[式#型一致演算子|型一致演算子<code>is</code>]]を使用することでその型に変数が指定された型かどうかを判断できます。次に例を示します。 var num = 123; print(num.type);//出力例:NUMBER var condition = (num is number); print(condition);//出力例:True ==暗黙的な変換の廃止/型変換演算子== まず、従来のAliceScriptに搭載されていた暗黙的な型変換は廃止されました。String型への変換を除くすべての型を変換するには、型変換演算子またはConvert関数が必要です。[[式#型変換演算子|型変換演算子<code>as</code>]]を使用することでその型に変数を明示的に変換することができます。次に例を示します。 var num = 123; print(num.type);//出力例:NUMBER var str = (num as string); print(str.type);//出力例:STRING ==Activate関数/Convert関数== <code>type.activate</code>関数は、その変数の表す型の変数を新規に作成し返します。<code>variable.convert(type)</code>関数はその変数を指定された型に変換します。次に例を示します。 var num = number.Activate(); print(num.type);//出力例:NUMBER var str = num.Convert(string); print(str.Type);//出力例:STRING ==Null合体演算子== Null合体演算子は、その変数が<code>null</code>でない場合、その変数がそのまま返されます。それ以外の場合は、右側のオペランドが評価され、その結果が返されます。 また、その変数が<code>null</code>である場合にのみ、右側のオペランドの値を左側の変数に割り当てるNull合体割当演算子<code>??=</code>も使用できます。次に例を示します。 var a = null; a ??= 5; print(a);//出力例:5 a ??= 3; print(a);//出力例:5 ==AlicePackage== AlicePackageによって、スクリプトファイルやリソース、ライブラリを一つにまとめて公開することが可能になりました。詳細については[[AlicePackage]]を参照してください。 ==パフォーマンス== WSOFTScriptとのデバッグ互換性維持のために残されていたWSOFTScriptデバッガは、AliceScriptRC2から実装されなくなりました。また、<code>&&</code>と<code>||</code>演算子について演算のショートカットが導入され、左辺の評価状況によって右辺を評価すべきか考慮し、不要である場合は評価されなくなりました。従来のような動作が必要な場合には代わりに<code>&</code>演算子や、<code>|</code>演算子を利用できます。 これらの改善により、一部のシナリオでパフォーマンスを向上させることができます。
編集内容の要約:
AliceScript Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
AliceScript Wiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
案内
メインページ
ツアー
ダウンロード
規約
おまかせ表示
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報