2010-08-05 3 views
1

У меня есть карта в Groovy, который выглядит следующим образом ...Groovy карта - ключи с пространством

def book = [Title of Book: "Groovy Recipes", Author: "Scott Davis", Number of Pages: "241"] 

я добавить мой друг «книга» в Booklist и хотели бы иметь возможность получить каждое значение позже, но когда я пытаюсь что-то вроде ...

BookList.Title of Book[0] //prints something like Title[0] instead of Groovy Recipes 

Так что мой вопрос, есть ли способ, чтобы получить это ключевое/значение без изменения названия клавиш?

+0

Речь идет о _accessing_ значения, но я озадачен тем, как вы _initialized_ карту. Чтобы получить это для компиляции, мне нужно было поставить кавычки вокруг ключей: 'def book = [" Название книги ":" Groovy Recipes ", ...' –

ответ

4

Следующие работали в раковине. Вы просто должны использовать [] вместо точечной нотации:

groovy:000> map = [:] 
===> {} 
groovy:000> map['Title of Book'] = "Adam Riese" 
===> Adam Riese 
groovy:000> map 
===> {Title of Book=Adam Riese} 
+4

Просто для удовольствия: 'map.'Title of Book'' works также ;) – ZeissS

Смежные вопросы