2007年 11月 28日

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 をかえす)