我在想,爲什麼被包含的模塊的方法混入到任何後續的類定義中(就好像類中包含了它自己一樣)?在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
打印:
There is no Bar.bar main Bar #<Bar:0xb73f2048>
這是預期的行爲?爲什麼?
你期待什麼? – 2010-07-24 17:38:34