Ответ 1
Используйте это:
def map = [(A):1, (X):2]
Для части value это еще проще, поскольку нет автоматических "конвертировать текст в строку":
def map = [keyA:A, keyX:X]
Скажем, у меня
def A = "abc"
def X = "xyz"
как создать Map
, где вместо
def map = [A:1, X:2]
Вместо этого я получаю эквивалент записи
def map = [abc:1, xyz:2]
но может использовать переменные A
и X
для ключа?
P.S.: Тот же вопрос для значащей части карты.
Используйте это:
def map = [(A):1, (X):2]
Для части value это еще проще, поскольку нет автоматических "конвертировать текст в строку":
def map = [keyA:A, keyX:X]
В дополнение к Joachim answer, если вы хотите добавить записи в существующую карту, а ключи - это переменные, используйте:
def map = [:]
def A = 'abc'
map[A] = 2
Если вы используете:
map.A = 2
Предполагается, что вы хотите использовать буквенную строку 'A' в качестве ключа (хотя в области есть переменная с именем A.
Как отметил @tim_yates в комментарии, ключевая переменная также будет разрешена, если вы используете:
map."$A" = 2
хотя лично я предпочитаю использовать синтаксис [A]
, поскольку инструменты рефакторинга могут пропустить ссылку "$A"
, если переменная переименована