是否可以将映射扩展为方法参数列表
在 Python 中是可能的,例如。 将元组扩展为参数
我有一个def map = ['a':1, 'b':2]
和一个方法def m(a,b)
我想像这样写smtm(*map)
是否可以将映射扩展为方法参数列表
在 Python 中是可能的,例如。 将元组扩展为参数
我有一个def map = ['a':1, 'b':2]
和一个方法def m(a,b)
我想像这样写smtm(*map)
目前我能想到的最好的是:
@groovy.transform.Canonical
class X {
def a
def b
def fn( a, b ) {
println "Called with $a $b"
}
}
def map = [ a:1, b:2 ]
def x = new X( map.values().toList() )
x.fn( map.values().toList() )
但是,这会在调用函数/构造函数时考虑映射的顺序,而不是键的名称。
您可能想添加一个采用 Map 的函数/构造函数,并这样做
mmap = { 'a':1, 'b':2 }
def m( a, b ):
return a+b
print m( **mmap )
30
3