您的位置:首页 > 编程语言 > Ruby

Ruby模块Module

2015-10-16 15:16 155 查看
模块(Module)是一种把方法、类和常量组合在一起的方式。模块(Module)为您提供了两大好处。

模块提供了一个命名空间和避免名字冲突。

模块实现了 mixin 装置。

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

模块类似与类,但有一下不同:

模块不能实例化

模块没有子类

模块只能被另一个模块定义


语法

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


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

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


实例

#!/usr/bin/ruby

# 定义在 trig.rb 文件中的模块

module Trig
PI = 3.141592654
def Trig.sin(x)
# ..
end
def Trig.cos(x)
# ..
end
end


我们可以定义多个函数名称相同但是功能不同的模块:
#!/usr/bin/ruby

# 定义在 moral.rb 文件中的模块

module Moral
VERY_BAD = 0
BAD = 1
def Moral.sin(badness)
# ...
end
end


就像类方法,当您在模块中定义一个方法时,您可以指定在模块名称后跟着一个点号,点号后跟着方法名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: