module M1 end module M2 end module M3 end module M4 end class Hello include M1 include M2 # This is the position of class self prepend M3 prepend M4 end p Hello.ancestors # M4, M3, Hello, M2, M1, Object, Kernel, BasicObject
列出類繼承鏈的技巧:ruby
將 include
的模塊按順序排在上面部分code
將 prepend
的模塊按順序排在下面部分繼承
將類自己放在 include
和 prepend
的中間位置it
繼承順序就是從下往上數,包括類自己io