Ruby/Array/to Hash
Материал из Wiki.crossplatform.ru
Convert array to hash
class Array def to_h(default=nil) Hash[ *inject([]) { |a, value| a.push value, default || yield(value) } ] end end a = [1, 2, 3] a.to_h(true) # => {1=>true, 2=>true, 3=>true} a.to_h { |value| [value * -1, value * 2] } # => {1=>[-1, 2], 2=>[-2, 4], 3=>[-3, 6]}