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