本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。