У меня очень простая задача, которую я пытаюсь выполнить в Groovy, но не могу заставить ее работать. Я просто пытаюсь перебрать объект карты в groovy и распечатать ключ и значение, но этот код не работает.
// A simple map
def map = [
iPhone : 'iWebOS',
Android: '2.3.3',
Nokia : 'Symbian',
Windows: 'WM8'
]
// Print the values
for (s in map) {
println s + ": " + map[s]
}
Я пытаюсь получить вывод, чтобы выглядеть так:
iPhone: iWebOS
Android: 2.3.3
Nokia: Symbian
Windows: WM8
Может кто-нибудь, пожалуйста, уточните, как это сделать?
dictionary
groovy
Kevin
источник
источник
s.key
&s.value
в вашем коде внутри цикла.Ответы:
Довольно просто с закрытием:
источник
В качестве альтернативы вы можете использовать
for
цикл, как показано в Groovy Docs :Одним из преимуществ использования
for
цикла по сравнению сeach
замыканием является более простая отладка, поскольку вы не можете достичь точки останова внутриeach
замыкания (при использовании Netbeans).источник
.each
.break
для выходаeach
, но вы можете использоватьreturn
return
аналогичноcontinue
нетbreak
.При использовании цикла for значение s является элементом Map.Entry, что означает, что вы можете получить ключ из s.key и значение из s.value.
источник
Другой вариант:
источник