From 927615e1f072d8fff3d9b84660cdce15a239e36c Mon Sep 17 00:00:00 2001 From: dearblue Date: Mon, 22 Feb 2021 23:32:43 +0900 Subject: Added other methods for `Binding` - Added to `mruby-binding-core` - `Binding#local_variable_defined?` - `Binding#local_variable_get` - `Binding#local_variable_set` - `Binding#local_variables` - `Binding#receiver` - `Binding#source_location` - `Binding#inspect` - Added to `mruby-proc-binding` - `Proc#binding` The reason for separating `Proc#binding` is that core-mrbgems has a method that returns a closure object to minimize possible problems with being able to manipulate internal variables. By separating it as different mrbgem, each user can judge this problem and incorporate it arbitrarily. --- mrbgems/mruby-binding/test/binding.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 mrbgems/mruby-binding/test/binding.c (limited to 'mrbgems/mruby-binding/test/binding.c') diff --git a/mrbgems/mruby-binding/test/binding.c b/mrbgems/mruby-binding/test/binding.c new file mode 100644 index 000000000..5a37ca043 --- /dev/null +++ b/mrbgems/mruby-binding/test/binding.c @@ -0,0 +1,13 @@ +#include + +static mrb_value +binding_in_c(mrb_state *mrb, mrb_value self) +{ + return mrb_funcall_argv(mrb, mrb_obj_value(mrb->object_class), mrb_intern_lit(mrb, "binding"), 0, NULL); +} + +void +mrb_mruby_binding_gem_test(mrb_state *mrb) +{ + mrb_define_method(mrb, mrb->object_class, "binding_in_c", binding_in_c, MRB_ARGS_NONE()); +} -- cgit v1.2.3