将方法invocation应用于一组类似的参数



我有这样的设施

def method(a, b, c) {}
def partialMethod = this.&method.rcurry(10)
partialMethod("text", 1)
partialMethod("some text 1", 2)
partialMethod("some text 2", 3)
partialMethod("b", 3)

我想以某种方式将这些partialMethod调用组合成一个构造,并为所有参数(在某个数组或映射中)调用该方法。

怎么做?

我现在唯一的想法

[ "text" : 1, "some text" : 2, "some text" : 3, "b" : 3 ].each { k, v ->
    partialMethod(k, v)
}

还有别的办法吗?

p.S虽然

,但我并不真正关心可读性
[ 
    ["text", 1], 
    ["some text", 2], 
    ["some text", 3], 
    ["b", 3] 
].each { 
    partialMethod(*it)
}

上面的选项将比使用Map更好,因为条目"some text" : 2, "some text" : 3不能共存。

最新更新