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


Ruby Object.define_singleton_method用法及代碼示例


本文簡要介紹ruby語言中 Object.define_singleton_method 的用法。

用法

define_singleton_method(symbol, method) → symbol
define_singleton_method(symbol) { block } → symbol

在接收器中定義一個單例方法。 method 參數可以是 ProcMethodUnboundMethod 對象。如果指定了塊,則將其用作方法體。如果一個塊或方法有參數,它們被用作方法參數。

class A
  class << self
    def class_name
      to_s
    end
  end
end
A.define_singleton_method(:who_am_i) do
  "I am: #{class_name}"
end
A.who_am_i   # ==> "I am: A"

guy = "Bob"
guy.define_singleton_method(:hello) { "#{self}: Hello there!" }
guy.hello    #=>  "Bob: Hello there!"

chris = "Chris"
chris.define_singleton_method(:greet) {|greeting| "#{greeting}, I'm Chris!" }
chris.greet("Hi") #=> "Hi, I'm Chris!"

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Object.define_singleton_method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。