1. ホーム
  2. dictionary

[解決済み] GroovyでMapをループスルーする?

2022-04-14 23:41:43

質問

Groovyで非常に簡単な作業を行おうとしているのですが、どうしてもうまくいきません。groovyでmapオブジェクトをループして、キーと値を出力しようとしているのですが、このコードはうまくいきません。

// 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

どなたか、この方法を詳しく教えていただけませんか?

どのように解決するのですか?

クロージャを使えば簡単です。

def map = [
           'iPhone':'iWebOS',
           'Android':'2.3.3',
           'Nokia':'Symbian',
           'Windows':'WM8'
           ]

map.each{ k, v -> println "${k}:${v}" }