pub unsafe extern "C" fn mrb_undef_method(
mrb: *mut mrb_state,
cla: *mut RClass,
name: *const c_char,
)Expand description
Undefines a method.
Example:
class ExampleClassA
def example_method
"example"
end
end
ExampleClassA.new.example_method # => example
class ExampleClassB < ExampleClassA
undef_method :example_method
end
ExampleClassB.new.example_method # => undefined method 'example_method' for ExampleClassB (NoMethodError)
// C style
#include <stdio.h>
#include <mruby.h>
mrb_value
mrb_example_method(mrb_state *mrb){
return mrb_str_new_lit(mrb, "example");
}
void
mrb_example_gem_init(mrb_state* mrb){
struct RClass *example_class_a;
struct RClass *example_class_b;
struct RClass *example_class_c;
example_class_a = mrb_define_class(mrb, "ExampleClassA", mrb->object_class);
mrb_define_method(mrb, example_class_a, "example_method", mrb_example_method, MRB_ARGS_NONE());
example_class_b = mrb_define_class(mrb, "ExampleClassB", example_class_a);
example_class_c = mrb_define_class(mrb, "ExampleClassC", example_class_b);
mrb_undef_method(mrb, example_class_c, "example_method");
}
mrb_example_gem_final(mrb_state* mrb){
}@param mrb The mruby state reference. @param cla The class the method will be undefined from. @param name The name of the method to be undefined.