module

模块(Module)是一种把方法、类和常量组合在一块儿的方式。ruby

module Identifier
   statement1
   statement2
   ...........
end

模块(Module)为您提供了两大好处:code

  1. 模块提供了一个命名空间和避免名字冲突。
  2. 模块实现了 mixin 装置.

模块(Module)定义了一个命名空间,至关于一个沙盒,在里边您的方法和常量不会与其余地方的方法常量冲突。class

模块相似与类,但有一下不一样:module

  1. 模块不能实例化
  2. 模块没有子类
  3. 模块只能被另外一个模块定义

模块常量命名与类常量命名相似,以大写字母开头。方法定义看起来也类似:模块方法定义与类方法定义相似。命名空间

经过类方法,能够在类方法名称前面放置模块名称和一个点号来调用模块方法,能够使用模块名称和两个冒号来引用一个常量。引用

module Trig
    PI=3.14
    def Trig.sin(x)
        puts "sin:#{x}"
    end
    def Trig.cos(x)
    end
end

Trig.sin("haha")

就像类方法,当您在模块中定义一个方法时,您能够指定在模块名称后跟着一个点号,点号后跟着方法名。方法

相关文章
相关标签/搜索