From: Jim Crossley Date: 2009-11-14T23:50:05+09:00 Subject: Surprising behavior when extending instances This surprised me: module English; def say; "yes"; end; end module French; def say; "oui"; end; end x = Object.new x.extend English x.say # "yes" x.extend French x.say # "oui" x.extend English x.say # "oui" What wrong assumptions am I making that this surprises me? What is the more elegant "Ruby way" of alternating an object's behavior at runtime? Thanks, Jim