gpt4 book ai didi

Groovy findAll 闭包参数

转载 作者:行者123 更新时间:2023-12-02 08:15:37 28 4
gpt4 key购买 nike

我想使用 groovy findAll 和我的参数来过滤闭包

filterClosure = { it, param ->
it.getParam == param
}

我现在如何在 findAll 中调用这个闭包?像下面这样吗?

myColl = someColl.findAll(filterClosure ??? )

最佳答案

假设您的集合是一个列表,您可以使用 curry 用您的对象填充额外的闭包参数:

def someColl = ["foo", "bar", "foo", "baz", "foo"]

def filterClosure = { it, param -> it.getParam == param }

myColl = someColl.findAll(filterClosure.curry([getParam:'foo']))

assert ["foo", "foo", "foo"] == myColl

在上面的代码中,filterClosure“it”将被分配作为参数传递给 curry 的内容,“param”将被传递来自 findAll 的集合项。这对于 Map 集合不起作用,因为 findAll 需要一个带有一个或两个参数的闭包。

关于Groovy findAll 闭包参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1387668/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com