イベント
イベントとはプログラム内でなんらかの動作、出来事が発生したことを知ることを目的としたプログラミング手法です。
プログラム内でイベントが発生すると、指定された処理を行うことができます。(例えば「キーが押された」など)
AliceScriptのイベントは、デリゲートを用いて実現することができます。次の例ではコンソールにオブジェクトを出力するイベントデリゲートOutput
とイベントが発生したときに呼び出されるOnOutput
関数を定義し、最後に”Hello,World”
を渡してOutput
イベントを発生させます。
var Output = delegate.Activate(); function OnOutput(v) { print(v); } Output += OnOutput; Output(“Hello,World”);//出力例:Hello,World
もちろん、イベントの購読にデリゲートを使うこともできます。上の例をラムダ式を使ってより簡潔に記述すると次のようになります。
var Output = new Delegate(); Output += (v) => print(v); Output(“Hello,World”);//出力例:Hello,World