Je me demande, pourquoi les méthodes d'un module inclus dans les définitions de classe ultérieures (comme si la classe l'incluait en soi)?héritage étrange dans ruby mixins
module Foo
def bar
print "#{self}\n"
end
end
class Bar
end
begin
Bar.bar
rescue NoMethodError
puts "There is no Bar.bar\n"
end
include Foo
bar
Bar.bar
Bar.new.bar
impressions:
There is no Bar.bar main Bar #<Bar:0xb73f2048>
Est-ce le comportement attendu? Pourquoi?
Qu'attendiez-vous? –