APIdock / Ruby
/
method

define_singleton_method

ruby latest stable - Class: Object
define_singleton_method(*args)
public

Defines a singleton method in the receiver. The method parameter can be a Proc, a Method or an UnboundMethod object. If a block is specified, it is used as the method body.

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!"
static VALUE
rb_obj_define_method(int argc, VALUE *argv, VALUE obj)
{
 VALUE klass = rb_singleton_class(obj);
 return rb_mod_define_method(argc, argv, klass);
}

AltStyle によって変換されたページ (->オリジナル) /