読者です 読者をやめる 読者になる 読者になる

Groovy2.0でinject

元ネタ
http://blog.bloidonia.com/post/26065857945/whats-new-in-groovy-2-0-inject-with-default

groovy2.0からinjectの初期値の指定を省略するとCollectionの先頭要素を初期値として処理してくれるようです。

def items = [1, 2, 3, 4, 5]

// 1.8.6まで
assert items.inject(0) { sum, item -> sum + item } == 15
assert items.drop(1).inject(items.head()) { sum, item -> sum + item } == 15

// 2.0から
assert items.inject() { sum, item -> sum + item } == 15

便利