aliasとmethodメソッド
methodで得られるメソッドオブジェクトは毎回作られるみたいです(object_idが異なるから)。equal?で比較するとfalseになりますが、==で比較するとtrueです。
aliasで名前を変えても、==で比較するとtrueです。
def rubyco end p method(:rubyco).object_id #=> 21788304 p method(:rubyco).object_id #=> 21788280 p method(:rubyco).equal?(method(:rubyco)) #=> false p method(:rubyco) == method(:rubyco) #=> true alias org_rubyco rubyco p method(:org_rubyco) == method(:rubyco) #=> true
詳しくは、ri Method#==やri Object#methodを参照。
追記:id:zorioさんから実行結果の記入誤りをご指摘いただきました。ありがとうございます。修正しました。