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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。