Javaのクロージャをいじってみた(5)
(※updated 2008-08-11のBGGAクロージャライブラリ使用) 6.static初期化ブロックに見えてこまる クラスのメンバにパッケージスコープのクラス変数として クロージャを宣言すると、static初期化ブロックと一瞬見間違える。 慣れの問題か? class Test { //たとえばこんな記述。static初期化ブロックに見えなくね? static { int, int => int } plus() { return {int x, int y => x+y}; } } 個人的なクロージャの記述スタイルの好みとしては、クロージャ型宣言の 記述スタイルは下のようなスペースを入れない方が好きだなあ。 {int,int=>int} // { int, int => int } でもクロージャ本体の{}はスペース入れる派かも。 こちらの{}は普通のブロックと同じ意味と考えてるので。 // こんな感じ。 int sum = {int x, int y => x + y }.invoke(3, 4); ちなみに私のC言語のポインタ記述は以下のとおり。 char* text; // char *text; このポインタの例で私がクロージャ型宣言の記述スタイルについて 言わんとしていること、わかっていただけるでしょうか。 一種の"型"という意味の強調と、ブロックとしての{}と混同しない様にする ことが目的です。