像Ruby中的__ <original_name> __这样的方法

时间:2016-07-07 13:24:42

标签: ruby

是否有遵循模式__<original_name>__的方法并且作为别名而不是__send__

1 个答案:

答案 0 :(得分:3)

很容易找到与您的模式匹配的方法名称列表:

ObjectSpace.each_object(Module).flat_map(&:instance_methods).uniq.grep(/__\w+__/)
# => [:__send__, :__id__, :__method__, :__callee__, :__dir__]

其中,Kernel#__method__Kernel#__callee__Kernel#__dir__不是别名,这给我们留下了两个: