アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy
クロージャは並大抵の苦労じゃ実装できないらしい。 (スコア:2, おもしろおかしい)
誤記 FireFox
巫女 Firefox [mozdev.org]
Re:クロージャは並大抵の苦労じゃ実装できないらしい。 (スコア:0)
でも通用するじゃないか!ネガティブ思考よくない!
Re:クロージャは並大抵の苦労じゃ実装できないらしい。 (スコア:2, 興味深い)
using System;
public class A {
public delegate int D();
static public D makeCounter() {
int count = 0;
return delegate{
return count++;
};
}
public static void Main(){
int count = 10;
D counter = makeCounter();
Console.WriteLine(counter());
Console.WriteLine(counter());
Console.WriteLine(counter());
Console.WriteLine(counter());
}
}
コンパイルして逆コンパイル
public static A.D makeCounter()
{
A.<>c__DisplayClass1 class1 = new A.<>c__DisplayClass1();
class1.count = 0;
return new A.D(class1.<makeCounter>b__0);
}
確かにあんまり苦労してなさげだ......