APIdock / Ruby
/
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;
}

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