(a,b,c) = [1,2]
assert a == 1
assert c == null
(a,b,c) = {[1,2]}()
assert a == 1
assert c == null
Map o = [a:1,b:2,c:3,d:4,aa:5]
// the objective it to keep only the keys with 'a', and uppercase them //
Map f1 = [:]
o.findAll { i -> i.key.contains('a') }
.each { i -> f1[i.key.toUpperCase()] = i.value }
println f1 // [A:1, AA:5]
Map f2 = [:]
o.each { i ->
if (i.key.contains('a'))
f2[i.key.toUpperCase()] = i.value
}
println f2 // [A:1, AA:5]
Map g1 = o
.findAll { i -> i.key.contains('a') }
.inject([:]) { m, i ->
m[i.key.toUpperCase()] = i.value
return m
}
println g1 // [A:1, AA:5]
Map g2 = o
.inject([:]) { m, i ->
if (i.key.contains('a'))
m[i.key.toUpperCase()] = i.value
return m
}
println g2 // [A:1, AA:5]
Thursday, December 15, 2011
Multi-Assign, Transform Map Keys
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment