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;
 

このポインタの例で私がクロージャ型宣言の記述スタイルについて
言わんとしていること、わかっていただけるでしょうか。
一種の"型"という意味の強調と、ブロックとしての{}と混同しない様にする
ことが目的です。

コメント

このブログの人気の投稿

日食ツアーその後

NashornがOpenJDKのリポジトリに入ってたのでビルドしてみた

Javaのクロージャをいじってみた。(1)