Ruby模块

=begin

模块是组合在一起的方法、类和常量 模块两个主要好处:

 ·模块提供了一个命名空间 并避免名称冲突

 ·模块实现混合工厂

 模块定义了一个命名空间 一个沙箱中方法和常量可以自由使用 而不必担心猜到其他的方法和常数

 

 语法:

 module Identifier

    statement1

    statement2

    statement3

    ..........

 就像被命名为类常量 模块中的常量 首字母大写 定义的方法看起来很相似 模块定义方法就像类的方法 调用一个模块方法和类方法一样 通过模块的名称 引用一个常数使用该模块的名称和两个冒号

 

=end

 

=begin

require 'moduletest.rb'

 

module Trig

    PI = 3.141492654

    def Trig.sin(x)#和类方法一样 当在一个模块中定义的方法 指定模块名称后面跟着一个点

    

    end

 

    def Trig.cos(x)

    end

end

 

#定义一个函数名相同 但在不同的功能模块

module Moral

    VERY_BAD = 0

    BAD = 1

 

    def Moral.sin(badness)

    end

 

end

 

Ntrig.sin(23);

 

#Ruby require语句:require语句声明的是类似于c/c++的include和Java的import语句 如果有第三个程序要使用任何定义的模块 它可以简单的使用Ruby require语句加载的模块文件

=end

 

#Ruby include语句 可以嵌入在一个类模块 要在一个类中嵌入模块 可以使用include语句 如果一个模块被定义在单独的文件 那么它需要包含该文件需要隐藏于公开的模块在一个类的require语句之前

 

posted @ 2016-08-06 11:37  Silktree  阅读(212)  评论(0)    收藏  举报