25

コレクションがあり、特定の要素を見つけて変換したいと考えています。これは 2 つのクロージャで行うことができますが、1 つだけで可能かどうか疑問に思っていました。

def c = [1, 2, 3, 4]

def result = c.findAll {
    it % 2 == 0
}

result = result.collect {
   it /= 2
}

私の真のユースケースは Gradle です。特定のファイルの束を見つけて、それらを完全修飾パッケージ名に変換したいと考えています。

4

1 に答える 1

43

使用できますfindResults

def c = [1, 2, 3, 4]
c.findResults { i ->
        i % 2 == 0 ?    // if this is true
            i / 2 :    // return this
            null        // otherwise skip this one
    }

また、どの[]要素も基準を満たさない場合に取得されます(クロージャー)

于 2014-01-07T13:39:28.590 に答える