标签:ruby
模块同类一样,也有 class method 和 instance method。
module 没有new不能生成实例对象
其中 class method 在模块中称为模块方法,是可以直接调用的。
module Foo def self.hello puts ‘hello world!‘ end def Foo.dear #module全局作用域内的self还是没有变,就是Module; puts ‘dear..‘ end NUM = 100 end
module M def self.m_fun puts ‘m fun‘ end def instance_fun puts ‘instance fun‘ end NUM = 100 end M.m_fun M::m_fun puts M::NUM puts ‘-----------------‘ class A include M end #A.m_fun #A.instance_fun #A.new.m_fun A.new.instance_fun puts ‘-----------------‘ class B extend M end #B.m_fun B.instance_fun #B.new.m_fun #B.new.instance_fun
标签:ruby
原文地址:http://blog.csdn.net/iitvip/article/details/34448117