ruby - 获取当前正在执行的方法的名称

标签 ruby reflection metaprogramming

$0 是顶级 Ruby 程序的变量,但是当前方法有吗?

最佳答案

比我的第一个答案更好的是你可以使用 __method__:

class Foo
  def test_method
    __method__
  end
end

这会返回一个符号——例如,:test_method。要将方法名称作为字符串返回,请改为调用 __method__.to_s

注意:这需要 Ruby 1.8.7。

关于ruby - 获取当前正在执行的方法的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/199527/

相关文章:

ruby - 如何在 Ruby 中执行相当于 's3cmd setacl --acl-grant=read:82b82d.. s3://somebucket/..' 的操作?

ruby - I18n::InvalidLocaleData:I18n gem 在 js 导出中有问题

Java解释

c# - 如何在运行时操作委托(delegate)的调用列表?

java - 通过反射获取枚举的值

code-generation - 如何自动化 Lightswitch 进行元编程

c++ - 使用 C++ 宏检查变量是否存在

ruby - 在 Ruby 中,如何实现一个类,其新方法创建其自身的子类?

ruby - 在运行时在 ruby​​ 中从模板定义方法

javascript - 什么使 CanvasRenderingContext2D 成为 CanvasRenderingContext2D?