アカウント名:
パスワード:
.method public instance object Global Code() cil managed{(略ldstr "function makeCounter () {\r\n var count = 0;\r\n return f;\r\n \r\n function f () {\r\n return count++;\r\n }\r\n}"
トウコはとりあえず「クロージャって何ですか?」的なコメントを予想して とりあえず解りやすい解説を貼り付けておこう的に書き込んでました。
>"Java が Ruby から盗むべき10のもの" PHP版があるなら見てみたいですよね
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
クロージャは並大抵の苦労じゃ実装できないらしい。 (スコア:2, おもしろおかしい)
誤記 FireFox
巫女 Firefox [mozdev.org]
実装できた暁には (スコア:2, おもしろおかしい)
と声をかけるとよろしかろう。
MIYAZAKI Yasushi
確かに苦労してるっぽい (スコア:2, 参考になる)
> ここ [hatena.ne.jp]に書いてありました。
jscでコンパイルしてディスアセンブルしてみました。
クロージャ部分コンパイルされてないじゃん!!
コラッ (スコア:1, おもしろおかしい)
としか書いてないじゃないか!
Re:クロージャは並大抵の苦労じゃ実装できないらしい。 (スコア:1)
Re:クロージャは並大抵の苦労じゃ実装できないらしい。 (スコア:0, おもしろおかしい)
#無粋なのでAC
クロージャは並大抵の苦労じゃ導入できないらしい。 (スコア:1)
「クロージャを今さら Java 言語仕様に導入するのは並大抵の
苦労じゃないらしい。」とすれば良かったのに。
先月 Java Champions に加わったばかりの Bruce Tate がブログに
"Java が Ruby から盗むべき10のもの" [rapidred.com] というのを
書いていて、その筆頭がクロージャでした。リストアップすると、
選ばれることは、Java 陣営の危機感を反映しています。停滞して 死を
招くくらいなら、激しく変革して Ruby などの挑戦に対抗しようという
覚悟のほどが伺えます。従って、今後の Java 技術についていくのは多分
並大抵の苦労じゃないですよ。
Re:クロージャは並大抵の苦労じゃ導入できないらしい。 (スコア:1)
トウコはとりあえず「クロージャって何ですか?」的なコメントを予想して
とりあえず解りやすい解説を貼り付けておこう的に書き込んでました。
>"Java が Ruby から盗むべき10のもの"
PHP版があるなら見てみたいですよね
誤記 FireFox
巫女 Firefox [mozdev.org]
Re:クロージャは並大抵の苦労じゃ導入できないらしい。 (スコア:1)
(私も含めて)おおむね駄洒落としか思っていないようだけれど。 Java 陣営から見ると、PHP で書かれた大きなアプリケーションは
構造がしっかりしていなくて保守に苦労する、という話はしばしば
目にするので、当初の生産性に差があることは認識しているものの
さほど強敵とは考えていないようです。きっと VB 上がりの人が
使うものでしょ、みたいな考えが見受けられます。
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);
}
確かにあんまり苦労してなさげだ......
Re:クロージャは並大抵の苦労じゃ実装できないらしい。 (スコア:0)
へー
> ここに書いてありました。
ほう。