Groovy Clousureは、Methodではないので全ての処理が終わらないと終
Groovy Clousureは、Methodではないので全ての処理が終わらないと終了しない件
GCRのGroovy勉強会に行ってきました。
今回特にためになったのは、Closureの挙動について、その終了の仕方がMethodとは異なること。
つまりClosureはMethodsではないので、もらった入力は全て処理する。
[1,2,3].each {print it; return } この出力は"123" 全て処理してから終わる
for (it in [1,2,3]) {print it; return} この出力は"1" ひとつの出力で終わる
もう一つ確認
1.upto(3) { print it ; if (it>1) return} この出力は"123" 全て終わってからreturnする。
returnを処理の途中で発生させても、println it の部分の処理は10まで進みます。