如果运行以下Groovy代码,则断言传递
def foo(a, b) {
a + b
}
assert 'aaabbb' == foo(['aaa', 'bbb'])
这表明如果使用包含X元素的List参数调用方法,则将传播List并调用带有X参数的方法。
当然,只有在没有使用List(或其祖先)类型的单个参数定义的方法时才会发生这种情况。
最近我在阅读另一个SO Groovy答案时才发现了这一点。我从来没有在Groovy文档,发行说明或书籍中看到它。它是一个隐藏的功能,一个错误,还是我错过的东西?
答案 0 :(得分:5)
显然将在Groovy 2中删除: http://groovy.329449.n5.nabble.com/removing-features-in-Groovy-2-td4422494.html
JT首先出现在删除列表中,看起来Groovy用户上的每个人(都有影响力)都同意了。