在全局上下文(main)中,当你包含一个模块时,你可以直接从全局上下文中使用它的方法。在一个类中,包括模块定义了不能从调用 include 的同一上下文中调用的实例方法。为什么是这样?
例子:
module Foo
def hello
puts "Hello, world!"
end
end
# In a class:
class Bar
include Foo
hello # Hello is an instance method so it won't work here.
end
# In main
include Foo
hello # Works fine. Why?