Groovy 将元组/映射扩展为参数

标签 groovy arguments parameter-passing

是否可以将映射扩展到方法参数列表

在 Python 中,这是可能的,例如。
Expanding tuples into arguments

我有一个 def map = ['a':1, 'b':2]和方法 def m(a,b)
我想写 smt 就像 m(*map)

最佳答案

spread operator (*) 用于将列表拆分为单个元素。这可用于调用具有多个参数的方法,然后将列表扩展为参数值。

列表(Groovy 中的列表与 Python 中的元组 12 最接近):

list = [1, 2]
m(*list)

map :
map = [a: 1, b: 2]
paramsList = map.values().toList()
m(*paramsList)

重要的一点是您按位置传递参数。

关于Groovy 将元组/映射扩展为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13449530/

相关文章:

Groovy GString 和数字格式

r - 函数中的术语是什么意思?

python - 在 Airflow 中,最终用户可以将参数传递给与某些特定 dag 关联的键

perl - Perl 中的子例程与脚本

android - 将数据从嵌套 fragment 发送到父 fragment

r - 如何将Shell变量引入R脚本?

Java ConcurrentSkipListSet 与文档不一致

xml - 从 groovy 中的 SOAP 响应中提取 CDATA

groovy - Spock vs FitNesse

javascript 发送参数对象作为参数