self == other -> bool
[permalink][rdoc][edit]-
自身と指定された other のクラスが同じであり、 message と backtrace が == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。
- [PARAM] other:
- 自身と比較したいオブジェクトを指定します。自身と異なるクラスのオブジェクトを指定した場合は Exception#exception を実行して変換を試みます。
例:
require "date" def check_long_month(month) return if Date.new(2000, month, -1).day == 31 raise "#{month} is not long month" end def get_exception return begin yield rescue => e e end end results = [2, 2, 4].map { |e | get_exception { check_long_month(e) } } p results.map { |e| e.class } # => [RuntimeError, RuntimeError, RuntimeError] p results.map { |e| e.message } # => ["2 is not long month", "2 is not long month", "4 is not long month"] # class, message, backtrace が同一のため true になる p results[0] == results[1] # => true # class, backtrace が同一だが、message がことなるため false になる p results[0] == results[2] # => false