「イベント」の版間の差分

提供:AliceScript Wiki
ナビゲーションに移動 検索に移動
(ページの作成:「イベントとはプログラム内でなんらかの動作、出来事が発生したことを知ることを目的としたプログラミング手法です。 プロ…」)
 
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
 +
{{Alert|この記事のより新しい版が[https://docs.wsoft.ws/products/alice/general/event/ WSOFTDocs]にあります。AliceScriptWikiでは、この記事はもう更新されません。||04}}
 
イベントとはプログラム内でなんらかの動作、出来事が発生したことを知ることを目的としたプログラミング手法です。
 
イベントとはプログラム内でなんらかの動作、出来事が発生したことを知ることを目的としたプログラミング手法です。
 
プログラム内でイベントが発生すると、指定された処理を行うことができます。(例えば「キーが押された」など)
 
プログラム内でイベントが発生すると、指定された処理を行うことができます。(例えば「キーが押された」など)
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>Output</code>イベントを発生させます。
 
  var Output = delegate.Activate();
 
  var Output = delegate.Activate();
  function OnOutput(variable v)
+
  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

2023年6月30日 (金) 00:14時点における最新版

この記事のより新しい版がWSOFTDocsにあります。AliceScriptWikiでは、この記事はもう更新されません。

イベントとはプログラム内でなんらかの動作、出来事が発生したことを知ることを目的としたプログラミング手法です。 プログラム内でイベントが発生すると、指定された処理を行うことができます。(例えば「キーが押された」など) 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