From: Georgy Date: 2004-05-31T13:58:39+09:00 Subject: Re: How are mixins better than multiple inheritance? Hm, mine outputs "in parent1" module Parent1 def amb_func puts "in parent1" end end module Parent2 def amb_func puts "in parent2" end end class Child include Parent1, Parent2 end Child.new.amb_func #=> in parent1 ___ Georgy "Bill Atkins" wrote in message news:e6056acc.0405251343.550af715@posting.google.com... | Can anyone explain how Ruby's mixin system is better than regular | multiple inheritance? What's the difference between: | | ---- | | module Parent1 | def amb_func | puts "in parent1" | end | end | | module Parent2 | def amb_func | puts "in parent2" | end | end | | class Child | include Parent1, Parent2 | end | | Child.new.amb_func | | ---- | | and | | ---- | | class Parent1 | def amb_func | puts "in parent1" | end | end | | class Parent2 | def amb_func | puts "in parent2" | end | end | | class Child < Parent1, Parent2 | end | | Child.new.amb_func | | --- | | Aside from the fact that the second example obviously isn't valid | Ruby, how is the first scenario an improvement over the second? The | first outputs "in parent2" and I assume the second would as well. Can | somebody please explain this? | | Bill