J'ai une tâche très simple que j'essaie de faire dans Groovy mais je n'arrive pas à la faire fonctionner. J'essaie juste de parcourir un objet de carte dans groovy et d'imprimer la clé et la valeur, mais ce code ne fonctionne pas.
// 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]
}
J'essaie de faire en sorte que la sortie ressemble à ceci:
iPhone: iWebOS
Android: 2.3.3
Nokia: Symbian
Windows: WM8
Quelqu'un pourrait-il expliquer comment procéder?
dictionary
groovy
Kevin
la source
la source
s.key
&s.value
dans votre code à l'intérieur de la boucle for.Réponses:
Assez simple avec une fermeture:
la source
Vous pouvez également utiliser une
for
boucle comme indiqué dans la documentation Groovy :Un avantage de l'utilisation d'une
for
boucle par opposition à uneeach
fermeture est un débogage plus facile, car vous ne pouvez pas atteindre un point d'arrêt à l'intérieur d'uneeach
fermeture (lors de l'utilisation de Netbeans).la source
.each
.break
pour quittereach
, mais vous pouvez utiliserreturn
return
est analogue àcontinue
nonbreak
.Lorsque vous utilisez la boucle for, la valeur de s est un élément Map.Entry, ce qui signifie que vous pouvez obtenir la clé de s.key et la valeur de s.value
la source
Une autre option:
la source