VOOZH about

URL: https://apidock.com/ruby/Method/clone

⇱ Method#clone - APIdock


method

clone

ruby latest stable - Class: Method
clone()
public

Returns a clone of this method.

class A
 def foo
 return "bar"
 end
end

m = A.new.method(:foo)
m.call # => "bar"
n = m.clone.call # => "bar"
static VALUE
method_clone(VALUE self)
{
 VALUE clone;
 struct METHOD *orig, *data;

 TypedData_Get_Struct(self, struct METHOD, &method_data_type, orig);
 clone = TypedData_Make_Struct(CLASS_OF(self), struct METHOD, &method_data_type, data);
 CLONESETUP(clone, self);
 RB_OBJ_WRITE(clone, &data->recv, orig->recv);
 RB_OBJ_WRITE(clone, &data->klass, orig->klass);
 RB_OBJ_WRITE(clone, &data->me, rb_method_entry_clone(orig->me));
 return clone;
}