クロージャについてメモ
クロージャとは?
- オブジェクトである
- メソッドと似ている
- パラメータを受け取り、値を返すことが出来る
- クロージャを呼び出す時は、クロージャが期待するのと同じ数の引数が必要(一緒にしないと、groovy.lang.MissingMethodExceptionがでる)
クロージャの書き方
例)
Closure envelope = { person -> new Letter(person).send() } addressBook.each(envelope)
上の例をもっと簡単に書くと↓のようになる
addressBook.each{ new Letter(it).send() }
{}で囲うとクロージャになる。(そうじゃない場合もある)
クロージャにとってパラメータが1個だけの時は、itで代用することができる
クロージャはオブジェクトなので、代入することが出来る
例)
def printer = { println it } /* 呼び出す時 */ printer(1) /* または */ printer.call(1)
- 作者: Dierk Konig,Andrew Glover,Paul King,Guillaume Laforge,Jon Skeet,杉浦孝,櫻井正樹,須江信洋,関谷和愛,佐野徹郎,寺沢尚史
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2008/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 146回
- この商品を含むブログ (121件) を見る