メモメモ

to_strとto_s

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/18655

to_sは、単純にオブジェクトを文字列に変換する以上の意味は無い。to_strは、そのオブジェクトが文字列として振舞えるようにする変換を定義することが目標。

puts(obj)

が、to_sを要求するのは変なような気がする。

==とeql?とequal?

http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Object

デフォルトで==はequal?と同じ。equal?は同一のオブジェクトを指しているかを比較する。eql?はハッシュのための関数。eql?を再定義したら、hashも再定義しなくてはならない。