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