如何使用variables作为地图的关键部分
假设我有
def A = "abc" def X = "xyz"
我如何创build一个Map
,而不是
def map = [A:1, X:2]
我相反,写作相当于
def map = [abc:1, xyz:2]
但是可以使用variablesA
和X
作为键?
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"
引用