當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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