「イベント」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「イベントとはプログラム内でなんらかの動作、出来事が発生したことを知ることを目的としたプログラミング手法です。 プロ…」) |
|||
| 3行目: | 3行目: | ||
AliceScriptのイベントは、デリゲートを用いて実現することができます。次の例ではコンソールにオブジェクトを出力するイベントデリゲート<code>Output</code>とイベントが発生したときに呼び出される<code>OnOutput</code>関数を定義し、最後に<code>”Hello,World”</code>を渡して<code>Outputted</code>イベントを発生させます。 | AliceScriptのイベントは、デリゲートを用いて実現することができます。次の例ではコンソールにオブジェクトを出力するイベントデリゲート<code>Output</code>とイベントが発生したときに呼び出される<code>OnOutput</code>関数を定義し、最後に<code>”Hello,World”</code>を渡して<code>Outputted</code>イベントを発生させます。 | ||
var Output = delegate.Activate(); | var Output = delegate.Activate(); | ||
| − | function OnOutput( | + | function OnOutput(v) |
{ | { | ||
print(v); | print(v); | ||
} | } | ||
Output += OnOutput; | Output += OnOutput; | ||
| + | |||
| + | Output(“Hello,World”);//出力例:Hello,World | ||
| + | |||
| + | もちろん、イベントの購読にデリゲートを使うこともできます。上の例をラムダ式を使ってより簡潔に記述すると次のようになります。 | ||
| + | var Output = new Delegate(); | ||
| + | Output += (v) => print(v); | ||
Output(“Hello,World”);//出力例:Hello,World | Output(“Hello,World”);//出力例:Hello,World | ||
2022年1月28日 (金) 04:32時点における版
イベントとはプログラム内でなんらかの動作、出来事が発生したことを知ることを目的としたプログラミング手法です。
プログラム内でイベントが発生すると、指定された処理を行うことができます。(例えば「キーが押された」など)
AliceScriptのイベントは、デリゲートを用いて実現することができます。次の例ではコンソールにオブジェクトを出力するイベントデリゲートOutputとイベントが発生したときに呼び出されるOnOutput関数を定義し、最後に”Hello,World”を渡してOutputtedイベントを発生させます。
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