0. 定义类
struct RClass *mrb_define_class(mrb_state *mrb, const char *name, struct RClass *super);
struct RClass * mrb_define_class_under(mrb_state *mrb, struct RClass *outer, const char *name, struct RClass *super);
如:
class Example
end
对应于:
struct RClass *example_class;
example_class = mrb_define_class(mrb, "Example", mrb->object_class);
在一个Module中定义一个类
module ExampleOuter
class Example
end
end
对应于:
struct RClass *example_outer, *example_inner;
example_outer = mrb_define_module(mrb, "ExampleOuter");
example_inner = mrb_define_class_under(mrb, example_outer, "Example", mrb->object_class);
1. 类中的方法
向类中加入实例方法
void mrb_define_method(mrb_state *mrb, struct RClass *cla, const char *name, mrb_func_t func, mrb_aspec aspec);
<