I would personally love a more concise way to merge/reverse_merge hashes. Would you also propose Hash#& as merge? 

P.S. in your example, a reverse_merge should result in :b => 2 


On Friday, 25 January 2013 at 1:57 AM, alexeymuranov (Alexey Muranov) wrote:

> 
> Issue #7739 has been reported by alexeymuranov (Alexey Muranov).
> 
> ----------------------------------------
> Feature #7739: Define Hash#| as Hash#reverse_merge in Rails
> https://bugs.ruby-lang.org/issues/7739
> 
> Author: alexeymuranov (Alexey Muranov)
> Status: Open
> Priority: Normal
> Assignee: 
> Category: core
> Target version: 
> 
> 
> =begin
> I suggest for to define (({Hash#|})) as (({Hash#reverse_merge})) in ((*Rails*)), in my opinion this would correspond nicely to (({Set#|})), to the logical (({#||})) and to the bitwise (({#|})):
> 
> { :a => 1, :b => 2 } | { :b => 1, :c => 2 } # => { :a => 1, :b => 1, :c => 2 }
> =end
> 
> 
> 
> -- 
> http://bugs.ruby-lang.org/
> 
>