如何使用variables作为地图的关键部分

假设我有

def A = "abc" def X = "xyz" 

我如何创build一个Map ,而不是

 def map = [A:1, X:2] 

我相反​​,写作相当于

 def map = [abc:1, xyz:2] 

但是可以使用variablesAX作为键?

PS:同样的问题,地图的价值部分。

用这个:

 def map = [(A):1, (X):2] 

对于数值部分来说更容易,因为没有automagic“将文本转换为string”的情况发生:

 def map = [keyA:A, keyX:X] 

除了Joachim的回答 ,如果你想添加条目到现有的地图和关键是variables,使用:

 def map = [:] def A = 'abc' map[A] = 2 

如果你使用:

 map.A = 2 

假设你想要使用string'A'作为键(即使在范围内有一个名为A的variables。

更新

正如@tim_yates在评论中指出的那样,如果你使用:

 map."$A" = 2 

尽pipe我个人更喜欢使用[A]语法,因为如果variables被重命名,重构工具可能会错过"$A"引用