Project

General

Profile

Feature #6373 » itself.diff

rafaelfranca (Rafael França), 08/01/2014 06:22 PM

View differences:

include/ruby/intern.h
VALUE rb_obj_alloc(VALUE);
VALUE rb_obj_clone(VALUE);
VALUE rb_obj_dup(VALUE);
VALUE rb_obj_itself(VALUE);
VALUE rb_obj_init_copy(VALUE,VALUE);
VALUE rb_obj_taint(VALUE);
VALUE rb_obj_tainted(VALUE);
object.c
return dup;
}
/*
* call-seq:
* obj.itself -> an_object
*
* Returns <i>obj</i>.
*
* string = 'my string' #=> "my string"
* string.itself.object_id == string.object_id #=> true
*
*/
VALUE
rb_obj_itself(VALUE obj)
{
return obj;
}
/* :nodoc: */
VALUE
rb_obj_init_copy(VALUE obj, VALUE orig)
......
rb_define_method(rb_mKernel, "singleton_class", rb_obj_singleton_class, 0);
rb_define_method(rb_mKernel, "clone", rb_obj_clone, 0);
rb_define_method(rb_mKernel, "dup", rb_obj_dup, 0);
rb_define_method(rb_mKernel, "itself", rb_obj_itself, 0);
rb_define_method(rb_mKernel, "initialize_copy", rb_obj_init_copy, 1);
rb_define_method(rb_mKernel, "initialize_dup", rb_obj_init_dup_clone, 1);
rb_define_method(rb_mKernel, "initialize_clone", rb_obj_init_dup_clone, 1);
test/ruby/test_object.rb
$VERBOSE = @verbose
end
def test_itself
object = Object.new
assert_equal object, object.itself
assert_equal object.object_id, object.itself.object_id
end
def test_dup
assert_raise(TypeError) { 1.dup }
assert_raise(TypeError) { true.dup }
(2-2/2)