「デリゲート」の版間の差分

編集の要約なし
タグ: モバイル編集 モバイルウェブ編集
編集の要約なし
33行目: 33行目:


==基本==
==基本==
デリゲート型は、<code>delegate</code>キーワードまたはその省略表現<code>_</code>と、そのデリゲートの実行に必要な引数を指定して宣言されます。
デリゲート型は、<code>delegate</code>キーワードと、そのデリゲートの実行に必要な引数を指定して宣言されます。


引数はかっこで囲み、各引数をコンマで区切ります。括弧内を空にすると、デリゲートは引数が不要なことを意味します。
引数はかっこで囲み、各引数をコンマで区切ります。括弧内を空にすると、デリゲートは引数が不要なことを意味します。
42行目: 42行目:
次の例にはデリゲートを生成し、それを<code>SayHello</code>として定義します。<code>SayHello</code>が呼び出されたとき、標準出力にHello,World!を書き込みます。
次の例にはデリゲートを生成し、それを<code>SayHello</code>として定義します。<code>SayHello</code>が呼び出されたとき、標準出力にHello,World!を書き込みます。


  var SayHello = _()
  var SayHello = delegate()
   {
   {
     print("Hello,World!");
     print("Hello,World!");
66行目: 66行目:
デリゲート型は、複数のデリゲートを一つに結合することができます。組み合わされたデリゲートの各ステートメントは、順番に実行され、<code>foreach</code>文を使用して一つずつに分解することも可能です。上記の例ですでに<code>SayHello</code>を定義しましたから、もう一つ、<code>SayBonjur</code>デリゲートを定義し、それらを結合して実行する例を示します。
デリゲート型は、複数のデリゲートを一つに結合することができます。組み合わされたデリゲートの各ステートメントは、順番に実行され、<code>foreach</code>文を使用して一つずつに分解することも可能です。上記の例ですでに<code>SayHello</code>を定義しましたから、もう一つ、<code>SayBonjur</code>デリゲートを定義し、それらを結合して実行する例を示します。


  var SayBonjur = _()
  var SayBonjur = delegate()
   {
   {
     print(“Bonjur”);
     print(“Bonjur”);
79行目: 79行目:


  var OnKeyDown;
  var OnKeyDown;
  (_(){
  (()=>{
   //非同期に実行されるコード
   //非同期に実行されるコード
   while(true)
   while(true)
88行目: 88行目:
   
   
  //OnKeyDownに次のコードをイベントハンドラとして登録します
  //OnKeyDownに次のコードをイベントハンドラとして登録します
  OnKeyDown+=_(key)
  OnKeyDown+=(key)=>
   {
   {
     if(key==“e”)
     if(key==“e”)