実は単に継承リストに追加されるだけなのだ。されているモジュール』なのである。両方を行うとどうなるのか試してみよう。クラスが継承リストに追加されていることがわかる。ほうが前に挿入されていることがわかる。行ったモジュールのメソッドを優先して』呼び出されることになる。したモジュール』の優先順位が高くなる。『継承リストに挿入されているだけ』に過ぎないのである。いうメソッドが追加された。されたクラスよりも高い』という特性がある。したモジュールのメソッドが自身のクラスのメソッドよりも優先して呼ばれる。これも継承リストを見てみよう。したモジュールが『自身のクラスよりも前に』継承リストに挿入されている事がわかる。したモジュールが優先して呼ばれる理由』も納得すると思う。単純に『継承リストに挿入する位置が違うだけ』なのがわかると思う。クラスよりも後に継承リストに挿入されるという形になる。みているここまで来たら特異メソッドについても考えみよう。クラスだけではなくて『インスタンスに対しても』メソッドを定義することができる。そのメソッドはクラスで定義されているメソッドよりも優先して呼ばれる。"x.homu"このように『インスタンスに対して定義されるメソッド』のことを『特異メソッド』と呼ぶ。特異メソッドは『特異クラス』という特殊なクラスに定義される。この特異クラスは『各オブジェクトが必ず1つ持っている』クラスになる。#<Class:#<X:0x00000001275e10>>ちょっと複雑になってきたので特異メソッドと特異クラスはこのあたりにしてメソッド探査の話をしよう。メソッド探査が継承リストに依存しているのはこれまで話したとおりである。いうことで特異クラスの継承リストを確認してみよう。BasicObject]上のコードを見てもらうと『特異クラスが自身の継承リストに追加されている』事がわかる。メソッド探査に依存する継承リストというのは正確にいえば『自身の特異クラスの継承リスト』ということになる。これにより『クラスで定義されたメソッド』よりも『特異クラスで定義されたメソッド=特異メソッド』が優先されるのである。する』という点が他のメソッドと異なる。『特異クラスの継承リスト』に追加される。Modと同等ともいえるだろう。おまけ:特異メソッドよりも優先するメソッドを定義するおまけ。することで特異メソッドよりも優先されるメソッドを定義することが出来る。BasicObject]滅多にないと思うが一番優先したいメソッドを定義したい場合はこういう手段が考えられる。継承リストが中心となって機能していることがみてとれる。メソッド探査のまとめは以下のようになる。手段が分散されており複雑なので理解するのが難しい。継承リスト(#ancestors)を参照することでなんとなく仕組みがわかったのではないだろうか。意図しないメソッドが呼び出される問題が発生した場合は継承リストを確認してみるとよいだろう。行うことができるので、継承リストがどうなるのか気になるのであれば手元で試してみるとよいだろう。ActiveSupport::Concernについても。