如何实现“custom_merge”方法?
h1 = {a: 1, c: 2}
h2 = {a: 3, b: 5}
这是一个标准的“合并”方法实现:
h1.merge(h2) # => {:a=>3, :c=>2, :b=>5}
我想要的“custom_merge”方法应该实现:
h1.custom_merge(h2) # {a: [1, 3], b: 5, c: 2}
不需要 custom_merge 方法。随块提供的Ruby 核心Hash#merge
将帮助您。
h1 = {a: 1, c: 2}
h2 = {a: 3, b: 5}
h3 = h1.merge(h2){|k,o,n| [o,n]}
h3
# => {:a=>[1, 3], :c=>2, :b=>5}
class Hash
def custom_merge other
merge(other){|_, *a| a}
end
end