Associative array/Merging: Difference between revisions

no edit summary
m (Ol (ff-union))
No edit summary
Line 1,716:
-----------------------------</pre>
 
=={{header|Wren}}==
<lang ecmascript>var mergeMaps = Fn.new { |m1, m2|
var m3 = {}
for (key in m1.keys) m3[key] = m1[key]
for (key in m2.keys) m3[key] = m2[key]
return m3
}
 
var base = { "name": "Rocket Skates" , "price": 12.75, "color": "yellow" }
var update = { "price": 15.25, "color": "red", "year": 1974 }
var merged = mergeMaps.call(base, update)
System.print(merged)</lang>
 
{{out}}
<pre>
{name: Rocket Skates, color: red, price: 15.25, year: 1974}
</pre>
 
=={{header|Vlang}}==
<lang vlang>type Generic = int|string|f64
type Assoc = map[string]Generic
 
fn merge(base Assoc, update Assoc) Assoc {
mut result := Assoc(map[string]Generic{})
for k, v in base {
result[k] = v
}
for k, v in update {
result[k] = v
}
return result
}
fn main() {
base := Assoc({"name": Generic("Rocket Skates"), "price": 12.75, "color": "yellow"})
update := Assoc({"price": Generic(15.25), "color": "red", "year": 1974})
result := merge(base, update)
for k,v in result {
println('$k: $v')
}
}</lang>
{{out}}
<pre>
name: Generic('Rocket Skates')
price: Generic(15.25)
color: Generic('red')
year: Generic(1974)
</pre>
 
=={{header|Wren}}==
338

edits