* eval.c (rb_obj_define_method): add new method
Kernel#define_singleton_method. [ruby-list:42851] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f84ef3d3c3
commit
bd62057a8b
@ -1,3 +1,8 @@
|
|||||||
|
Mon Oct 9 01:56:34 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* eval.c (rb_obj_define_method): add new method
|
||||||
|
Kernel#define_singleton_method. [ruby-list:42851]
|
||||||
|
|
||||||
Sat Oct 7 23:53:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
Sat Oct 7 23:53:08 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
* string.c (rb_str_scan): small documentation fix.
|
* string.c (rb_str_scan): small documentation fix.
|
||||||
|
10
eval.c
10
eval.c
@ -234,6 +234,7 @@ VALUE rb_cMethod;
|
|||||||
VALUE rb_cUnboundMethod;
|
VALUE rb_cUnboundMethod;
|
||||||
static VALUE umethod_bind(VALUE, VALUE);
|
static VALUE umethod_bind(VALUE, VALUE);
|
||||||
static VALUE rb_mod_define_method(int, VALUE*, VALUE);
|
static VALUE rb_mod_define_method(int, VALUE*, VALUE);
|
||||||
|
static VALUE rb_obj_define_method(int, VALUE*, VALUE);
|
||||||
NORETURN(static void rb_raise_jump(VALUE));
|
NORETURN(static void rb_raise_jump(VALUE));
|
||||||
static VALUE rb_make_exception(int argc, VALUE *argv);
|
static VALUE rb_make_exception(int argc, VALUE *argv);
|
||||||
|
|
||||||
@ -7910,6 +7911,7 @@ Init_eval(void)
|
|||||||
rb_define_method(rb_cBasicObject, "__send!", rb_f_funcall, -1);
|
rb_define_method(rb_cBasicObject, "__send!", rb_f_funcall, -1);
|
||||||
rb_define_method(rb_mKernel, "instance_eval", rb_obj_instance_eval, -1);
|
rb_define_method(rb_mKernel, "instance_eval", rb_obj_instance_eval, -1);
|
||||||
rb_define_method(rb_mKernel, "instance_exec", rb_obj_instance_exec, -1);
|
rb_define_method(rb_mKernel, "instance_exec", rb_obj_instance_exec, -1);
|
||||||
|
rb_define_method(rb_mKernel, "define_singleton_method", rb_obj_define_method, -1);
|
||||||
|
|
||||||
rb_define_private_method(rb_cModule, "append_features", rb_mod_append_features, 1);
|
rb_define_private_method(rb_cModule, "append_features", rb_mod_append_features, 1);
|
||||||
rb_define_private_method(rb_cModule, "extend_object", rb_mod_extend_object, 1);
|
rb_define_private_method(rb_cModule, "extend_object", rb_mod_extend_object, 1);
|
||||||
@ -9567,6 +9569,14 @@ rb_mod_define_method(int argc, VALUE *argv, VALUE mod)
|
|||||||
return body;
|
return body;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* <code>Proc</code> objects are blocks of code that have been bound to
|
* <code>Proc</code> objects are blocks of code that have been bound to
|
||||||
* a set of local variables. Once bound, the code may be called in
|
* a set of local variables. Once bound, the code may be called in
|
||||||
|
Loading…
x
Reference in New Issue
Block a user