`
fujinbing
  • 浏览: 232935 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby 中的 module_function 关键字

    博客分类:
  • java
 
阅读更多
模块是ruby特有的功能之一。模块和类很像,但和类最大的不同在于模块不能实例化,也不能继承。模块的作用有两个。一个是用于提供命名空间。第二提供Mix-in功能。Mix-in和继承很像,但它不是继承。

模块的常量和类常用调用方法一样。模块名::常量名。模块的方法调用和类的方法调用不同,可以使用模块::方法名,也可以使用模块.方法名。

模块定义的方法默认是不对外部公开的,(模块内没有public private protect关键字),要将方法对模块外部公开,必须使用module_function。

module ModuleTest

    V1="1.8.6"
    def say()
     puts "hello"
    end
module_function :say
end

puts ModuleTest::V1   #1.8.6
ModuleTest::say         #hello
ModuleTest.say          #hello

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics