instance method Hash#to_h

to_h -> self | Hash[permalink][rdoc][edit]
to_h {|key, value| block } -> Hash

self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。



hash = {}
p hash.to_h      # => {}
p hash.to_h == hash # => true

class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h        # => {}
p my_hash.class       # => MyHash
p my_hash.to_h.class  # => Hash

ブロックを指定すると各ペアでブロックを呼び出し、その結果をペアとして使います。

ブロック付きの例

hash = { "a" => 97, "b" => 98 }
hash.to_h {|key, value| [key.upcase, value-32] } # => {"A"=>65, "B"=>66}

[SEE_ALSO] Enumerable#map