Da Streda 15 Februr 2006 03:23 Phil Tomson napsal:
> I think the answer is that A has already been mixed-in so it's not really
> mixed-in again (true?). 
>

Quite so.

> And how would I go about making this work so that it prints:
>
> A::foo
> B::foo
> A::foo
>
> ?
>

Make the message printed an instance attribute and change it? *duck*

Mixins aren't plain supposed to do that. They are to add methods, not rewrite 
them at whim. If you -have- to do this via metaprogramming, use singleton 
methods. Especially in non-trivial code, heavy use of #extend to change 
behaviour over and over again would get really messy.

David Vallner