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-proc-binding/test/proc-binding.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 mrbgems/mruby-proc-binding/test/proc-binding.c (limited to 'mrbgems/mruby-proc-binding/test/proc-binding.c') diff --git a/mrbgems/mruby-proc-binding/test/proc-binding.c b/mrbgems/mruby-proc-binding/test/proc-binding.c new file mode 100644 index 000000000..ec071b920 --- /dev/null +++ b/mrbgems/mruby-proc-binding/test/proc-binding.c @@ -0,0 +1,14 @@ +#include +#include + +static mrb_value +proc_in_c(mrb_state *mrb, mrb_value self) +{ + return mrb_load_string(mrb, "proc { |a, b| a + b }"); +} + +void +mrb_mruby_proc_binding_gem_test(mrb_state *mrb) +{ + mrb_define_method(mrb, mrb->object_class, "proc_in_c", proc_in_c, MRB_ARGS_NONE()); +} -- cgit v1.2.3