Hash#put がほしい
class Hash
def put(key, value)
self[key] = value
self
end
end
a = { 1 => "foo", 2 => nil }
b = { 2 => "bar", 3 => "baz" }
p a.inject({}) {|r,(k,v)| r.put(k, b[k] || v) }
a.inject({}) {|r,(k,v)| r[k] = b[k] || v; r } # ← これがダサいML に投げるべきなんだろうなぁ……メールこわい……
というか []= が value を返すのはわかるけど、store (さっきしった) まで value かえさなくてもいいのに (Array#{push,unshift} は self をかえす)