Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Method#==

概要

Method##==

詳細

自身と other が同じインスタンスの同じメソッドを表す場合に true を返却。
そうでない場合に false を返却。

サンプルコード
require 'tbpgr_utils'

class Hoge1
  def hoge
    'hoge'
  end
end


class Hoge2
  def hoge
    'hoge'
  end
end

h1 = Hoge1.new
h2 = Hoge2.new
m1 = h1.method(:hoge)
m2 = h2.method(:hoge)
m2_2 = h2.method(:hoge)

bulk_puts_eval binding, <<-EOS
m1
m2
m1 == m2
m2 == m2_2
EOS

__END__
下記はTbpgrUtils gemの機能
bulk_puts_eval

https://rubygems.org/gems/tbpgr_utils
https://github.com/tbpgr/tbpgr_utils

出力

m1         # => #<Method: Hoge1#hoge>
m2         # => #<Method: Hoge2#hoge>
m1 == m2   # => false
m2 == m2_2 # => true