- Timestamp:
- Jan 21, 2018, 12:10:09 AM (6 years ago)
- Location:
- EcnlProtoTool/trunk/mruby-1.3.0
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mruby-1.3.0/mrbgems/mruby-object-ext/src/object.c
r321 r331 1 #include "mruby.h" 2 #include "mruby/array.h" 3 #include "mruby/class.h" 1 #include <mruby.h> 2 #include <mruby/array.h> 3 #include <mruby/class.h> 4 #include <mruby/proc.h> 4 5 5 6 /* … … 63 64 mrb_obj_instance_exec(mrb_state *mrb, mrb_value self) 64 65 { 65 mrb_value *argv;66 const mrb_value *argv; 66 67 mrb_int argc; 67 68 mrb_value blk; 68 69 struct RClass *c; 70 mrb_value args; 69 71 70 72 mrb_get_args(mrb, "*&", &argv, &argc, &blk); … … 84 86 break; 85 87 } 86 87 return mrb_yield_with_class(mrb, blk, argc, argv, self, c); 88 args = mrb_ary_new_from_values(mrb, argc, argv); 89 argv = RARRAY_PTR(args); 90 mrb->c->ci->target_class = c; 91 return mrb_yield_cont(mrb, blk, self, argc, argv); 88 92 } 89 93 … … 97 101 mrb_define_method(mrb, n, "to_i", nil_to_i, MRB_ARGS_NONE()); 98 102 99 mrb_define_method(mrb, mrb-> object_class, "instance_exec", mrb_obj_instance_exec, MRB_ARGS_ANY() | MRB_ARGS_BLOCK());103 mrb_define_method(mrb, mrb->kernel_module, "instance_exec", mrb_obj_instance_exec, MRB_ARGS_ANY() | MRB_ARGS_BLOCK()); 100 104 } 101 105
Note:
See TracChangeset
for help on using the changeset viewer.