Mam bardzo proste zadanie, które próbuję wykonać w Groovy, ale wydaje mi się, że nie mogę go uruchomić. Po prostu próbuję przelecieć przez obiekt mapy w groovy i wydrukować klucz i wartość, ale ten kod nie działa.
// 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]
}
Próbuję uzyskać dane wyjściowe, aby wyglądały następująco:
iPhone: iWebOS
Android: 2.3.3
Nokia: Symbian
Windows: WM8
Czy mógłby ktoś wyjaśnić, jak to zrobić?
dictionary
groovy
Kevin
źródło
źródło
s.key
&s.value
w swoim kodzie wewnątrz pętli for.Odpowiedzi:
Całkiem proste z zamknięciem:
źródło
Alternatywnie możesz użyć
for
pętli, jak pokazano w Groovy Docs :Jedną z zalet używania
for
pętli w przeciwieństwie doeach
zamknięcia jest łatwiejsze debugowanie, ponieważ nie można trafić w punkt przerwania wewnątrzeach
zamknięcia (podczas korzystania z Netbeans).źródło
.each
.break
aby wyjśćeach
, ale możesz użyćreturn
return
jest analogiczne docontinue
niebreak
.W przypadku korzystania z pętli for wartością s jest element Map.Entry, co oznacza, że klucz można pobrać z s.key, a wartość z s.value
źródło
Inna opcja:
źródło