Groovy findAll闭包参数
发布时间:2020-12-14 16:32:20 所属栏目:大数据 来源:网络整理
导读:我想用我的参数使用groovy findAll来过滤闭包 filterClosure = { it,param - it.getParam == param} 我怎么能在findAll中调用这个闭包?如下? myColl = someColl.findAll(filterClosure ??? ) 解决方法 假设您的集合是一个列表,您可以使用curry用您的对象填
我想用我的参数使用groovy findAll来过滤闭包
filterClosure = { it,param -> it.getParam == param } 我怎么能在findAll中调用这个闭包?如下? myColl = someColl.findAll(filterClosure ??? ) 解决方法
假设您的集合是一个列表,您可以使用curry用您的对象填充额外的closure参数:
def someColl = ["foo","bar","foo","baz","foo"] def filterClosure = { it,param -> it.getParam == param } myColl = someColl.findAll(filterClosure.curry([getParam:'foo'])) assert ["foo","foo"] == myColl 在上面的代码中,filterClosure“it”将被分配给作为参数传递给curry的内容,并且“param”从findAll传递给一个集合项.这对于Map集合不起作用,因为findAll for它需要一个带有一个或两个参数的闭包. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |