当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Module.module_function用法及代码示例


本文简要介绍ruby语言中 Module.module_function 的用法。

用法

module_function → nil
module_function(method_name) → method_name
module_function(method_name, method_name, ...) → array

为命名方法创建模块函数。这些函数可以用作为接收者的模块调用,也可以作为实例方法用于在模块中混合的类。 Module 函数是原始函数的副本,因此可以单独更改。 instance-method 版本是私有的。如果不带参数使用,随后定义的方法将成为模块函数。 String 参数被转换为符号。如果传递了单个参数,则将其返回。如果未传递任何参数,则返回 nil。如果传递了多个参数,则参数将作为数组返回。

module Mod
  def one
    "This is one"
  end
  module_function :one
end
class Cls
  include Mod
  def call_one
    one
  end
end
Mod.one     #=> "This is one"
c = Cls.new
c.call_one  #=> "This is one"
module Mod
  def one
    "This is the new one"
  end
end
Mod.one     #=> "This is one"
c.call_one  #=> "This is the new one"

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Module.module_function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。