このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 2.6.0 リファレンスマニュアル

instance method Object#to_hash

to_hash -> Hash[permalink][rdoc]

オブジェクトの Hash への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。

説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。

このメソッドを定義する条件は、

  • ハッシュが使われるすべての場面で代置可能であるような、
  • ハッシュそのものとみなせるようなもの

という厳しいものになっています。

class Foo
  def to_hash
    {'as' => 24}
  end
end

it = Foo.new
p({:as => 12}.merge(it)) #=> {"as"=>24, :as=>12}