「デリゲート」の版間の差分
編集の要約なし タグ: モバイル編集 モバイルウェブ編集 |
編集の要約なし |
||
33行目: | 33行目: | ||
==基本== | ==基本== | ||
デリゲート型は、<code>delegate</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+= | OnKeyDown+=(key)=> | ||
{ | { | ||
if(key==“e”) | if(key==“e”) |