具有变量属性和字符串插值的Groovy Map问题

时间:2016-02-19 14:14:48

标签: dictionary groovy interpolation

我一直在很长一段时间内很好地导航地图结构。然而,由于某种原因,这个问题的根源逃脱了我。我也试过括号表示法,没有运气。

为什么最终输出(null)不返回“[serverinfo:[listenPort:19001]]”

如果我用'services'替换''$ instanceName''的两个实例,它就可以了。

false

1 个答案:

答案 0 :(得分:3)

GStringImpl的类型为String,而不是def serverNode = [ instances:[ ("$instanceName" as String):[ serverinfo:[ listenPort:19001 ] ] ] ] 。这是一个常见的错误(很难找到!)

(property)

如@tim_yates在评论中所述,如果你的插值字符串就像在这个例子中那样简单(即“$ {property}”),那么你可以使用ptra语法:Groovy把值放在属性作为关键,而不是“属性”一词