• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:呼ばれているメソッドがおかしくなります)

呼ばれているメソッドがおかしくなる原因とは?

このQ&Aのポイント
  • Rubyのコードを書いている際、呼ばれているメソッドがおかしくなることがあります。
  • 特に、オブジェクトのメソッドを上書きする際に問題が起きることがあります。
  • 原因は、モジュールのメソッドが継承関係の深い位置に挿入されるためです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

自分が分かってないだけならごめんなさい、 特異クラス、Mage、Stringの順番ですよね? Mageモジュールの方が浅いですよね?

m_matsubara
質問者

お礼

納得です a.singleton_class.ancestors # => [#<Class:#<String:0x007fdeea15c4a0>>, Mage, String, Comparable, Object, Kernel, BasicObject] となっていますが、Stringのto_sメソッドは #<Class:#<String:0x007fdeea15c4a0>>には存在していなくて Strngクラスの雛形の方にある、ということですね。 言われてみればその通りです。 失礼しました。

関連するQ&A