本文简要介绍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 Module.module_exec用法及代码示例
- Ruby Module.module_eval用法及代码示例
- Ruby Module.method_removed用法及代码示例
- Ruby Module.method_defined?用法及代码示例
- Ruby Module.method_added用法及代码示例
- Ruby Module.method_undefined用法及代码示例
- Ruby Module.attr_accessor用法及代码示例
- Ruby Module.private用法及代码示例
- Ruby Module.deprecate_constant用法及代码示例
- Ruby Module.instance_method用法及代码示例
- Ruby Module.class_variables用法及代码示例
- Ruby Module.included_modules用法及代码示例
- Ruby Module.singleton_class?用法及代码示例
- Ruby Module.included用法及代码示例
- Ruby Module.include?用法及代码示例
- Ruby Module.ruby2_keywords用法及代码示例
- Ruby Module.extend_object用法及代码示例
- Ruby Module.class_exec用法及代码示例
- Ruby Module.autoload用法及代码示例
- Ruby Module.ancestors用法及代码示例
- Ruby Module.class_variable_get用法及代码示例
- Ruby Module.class_variable_defined?用法及代码示例
- Ruby Module.new用法及代码示例
- Ruby Module.obj ==用法及代码示例
- Ruby Module.const_missing用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Module.module_function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。