常规列表传播

时间:2011-06-02 10:23:16

标签: groovy

如果运行以下Groovy代码,则断言传递

def foo(a, b) {
  a + b
}

assert 'aaabbb' == foo(['aaa', 'bbb'])

这表明如果使用包含X元素的List参数调用方法,则将传播List并调用带有X参数的方法。

当然,只有在没有使用List(或其祖先)类型的单个参数定义的方法时才会发生这种情况。

最近我在阅读另一个SO Groovy答案时才发现了这一点。我从来没有在Groovy文档,发行说明或书籍中看到它。它是一个隐藏的功能,一个错误,还是我错过的东西?

1 个答案:

答案 0 :(得分:5)

显然将在Groovy 2中删除: http://groovy.329449.n5.nabble.com/removing-features-in-Groovy-2-td4422494.html

JT首先出现在删除列表中,看起来Groovy用户上的每个人(都有影响力)都同意了。