From 8a9f891fd3440e89b5ad7287769db8a9ffae9df5 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Sat, 25 May 2019 20:08:09 +0900 Subject: Rename `Kernel#__method__` to `Kernel#__callee__` Because the current behavior of `__method__` is equivalent to `__callee__`. Example: # example.rb def src __send__(ARGV[0]) end alias dst src %w[src dst].each {|n| puts "call #{n} => #{__send__(n).inspect}"} Ruby: $ ruby example.rb __method__ call src => :src call dst => :src $ ruby example.rb __callee__ call src => :src call dst => :dst mruby: $ mruby example.rb __method__ call src => :src call dst => :dst --- mrbgems/mruby-kernel-ext/src/kernel.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'mrbgems/mruby-kernel-ext/src/kernel.c') diff --git a/mrbgems/mruby-kernel-ext/src/kernel.c b/mrbgems/mruby-kernel-ext/src/kernel.c index 2d93e4fef..152ce0e8d 100644 --- a/mrbgems/mruby-kernel-ext/src/kernel.c +++ b/mrbgems/mruby-kernel-ext/src/kernel.c @@ -66,15 +66,14 @@ mrb_f_caller(mrb_state *mrb, mrb_value self) /* * call-seq: - * __method__ -> symbol + * __callee__ -> symbol * - * Returns the name at the definition of the current method as a - * Symbol. + * Returns the called name of the current method as a Symbol. * If called outside of a method, it returns nil. * */ static mrb_value -mrb_f_method(mrb_state *mrb, mrb_value self) +mrb_f_callee(mrb_state *mrb, mrb_value self) { mrb_callinfo *ci = mrb->c->ci; ci--; @@ -247,7 +246,7 @@ mrb_mruby_kernel_ext_gem_init(mrb_state *mrb) mrb_define_module_function(mrb, krn, "fail", mrb_f_raise, MRB_ARGS_OPT(2)); mrb_define_module_function(mrb, krn, "caller", mrb_f_caller, MRB_ARGS_OPT(2)); - mrb_define_method(mrb, krn, "__method__", mrb_f_method, MRB_ARGS_NONE()); + mrb_define_method(mrb, krn, "__callee__", mrb_f_callee, MRB_ARGS_NONE()); mrb_define_module_function(mrb, krn, "Integer", mrb_f_integer, MRB_ARGS_ARG(1,1)); #ifndef MRB_NO_FLOAT mrb_define_module_function(mrb, krn, "Float", mrb_f_float, MRB_ARGS_REQ(1)); -- cgit v1.2.3