groovyのクロージャ 練習 2008/09/02

Groovyです。
クロージャです。


Groovyのクロージャの書き方が好きかも。

def localMethod() {
def v = new Date()
return { println v }
}

def clos = localMethod()
Thread.sleep(3000)

println new Date()

// 実行
clos()


結果
Tue Sep 02 22:05:48 JST 2008
Tue Sep 02 22:05:45 JST 2008


次に下記のような書き方ができることに僕は何かしらの可能性をみているのだった。

def c = [
"a1": { println "==>a1"},
"a2": { println "==>a2"},
"a3": { println "==>a3"}
]
c.a1()
c['a2']()
def clos = c['a3']
clos()


結果
==>a1
==>a2
==>a3


ふたつめのこのc['a2']()の書き方がかっこいいと思うのだけど。

あと僕がJSONにたいしてなんとなく可能性をみているのは、キー:値の値にやはりプログラムを載せれそうなところなんだよね。

: