我来自 Java 背景,同时学习 Groovy 和 Gradle,因为我的目的是另一个。:-/ 我也需要 GPars 的东西,因为速度和并行性是一个问题。无论如何,我看到了这个 GPars 示例,并且我有一些我认为是语言细微差别的问题,而不是图书馆问题,我还不明白。
//check whether all elements within a collection meet certain criteria
GParsPool.withPool(5) { ForkJoinPool pool ->
assert [1, 2, 3, 4, 5].everyParallel {it > 0}
assert ![1, 2, 3, 4, 5].everyParallel {it > 1}
}
我明白了ForkJoinPool pool ->..
。为什么这两行不是这样用大括号括起来的。如果它只是一个可选的省略,似乎你会失去对范围的跟踪,比如分号:
//check whether all elements within a collection meet certain criteria
GParsPool.withPool(5) { ForkJoinPool pool -> {
assert [1, 2, 3, 4, 5].everyParallel {it > 0}
assert ![1, 2, 3, 4, 5].everyParallel {it > 1}
}
}
是什么it
?它是一个迭代器吗?是从哪里来it
的?
.everyParallel
据我所知,当一个对象从未被具有该功能的东西显式包装时,通过什么方式可以调用它?