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")

就像類方法,當您在模塊中定義一個方法時,您能夠指定在模塊名稱後跟着一個點號,點號後跟着方法名。方法

相關文章
相關標籤/搜索