我有这个功能:
def getMap(value = null) {
[
"SomeTitle": [ Param: 9, Size: 2, Default: 150, Val: value ]
]
}
我可以使用getMap(152).SomeTitle.Val
我想要做的是在计算密钥Size
时使用密钥Val
,例如:
def getMap(value = null) {
[
"SomeTitle": [ Param: 9, Size: 2, Default: 150, Val: value * Size ]
]
}
在计算另一个键的值时,有没有办法在地图中使用键的值作为变量
这在Java / Groovy中
答案 0 :(得分:4)
Groovy无法在其初始化时自动引用地图,但您可以使用with {}
方法进行一些初始化后处理:
def getMap(value = null) {
[
"SomeTitle": [ Param: 9, Size: 2, Default: 150 ].with {
put('Val', value * get('Size'))
it
}
]
}
assert getMap(10).SomeTitle.Val == 20