Groovy 在范围和地图上展开

Groovy 在范围和地图上展开,groovy,Groovy,关于在距离和地图上应用扩展运算符,我有几个问题。请参阅下面的代码,错误行已标记 (1) “assert”对更新的范围有效,但为什么“println”不打印它呢 (2) 当我们说“*range”时,groovy可以理解并扩展范围。那么为什么“地图”不起作用,为什么我们需要说:“地图” 当你打电话时: println [0, *range] 它正在尝试对属性println调用getAt。您需要将列表用大括号括起来以帮助解析器: println( [ 0, *range ] ) 对于第二个错误,此

关于在距离和地图上应用扩展运算符,我有几个问题。请参阅下面的代码,错误行已标记

(1) “assert”对更新的范围有效,但为什么“println”不打印它呢

(2) 当我们说“*range”时,groovy可以理解并扩展范围。那么为什么“地图”不起作用,为什么我们需要说:“地图”

当你打电话时:

println [0, *range]
它正在尝试对属性
println
调用
getAt
。您需要将列表用大括号括起来以帮助解析器:

println( [ 0, *range ] )
对于第二个错误,此表单中的
*
是扩展运算符。它是用来散布名单的

您有一个映射,因此需要使用扩展映射操作符
*:
(如您所见)

println( [ 0, *range ] )