如何获取调用方法的名称?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

Ruby中是否有一种方法可以在方法中找到调用方法的名称?

例如:

class Test
  def self.foo
    Fooz.bar
  end
end

class Fooz
  def self.bar
    # get Test.foo or foo
  end
end
提问于
用户回答回答于
用户回答回答于

在Ruby 2.0.0中,可以使用:

caller_locations(1,1)[0].label

这是快得多而不是Ruby#number0#+解决方案:

caller[0][/`([^']*)'/, 1]

扫码关注云+社区