2

可能重复:
如何获取调用方法的名称?

在下面的示例中,我如何知道调用 foo 的方法?

class Example
  def initialize
  end

  def foo
    puts "Hello World"  
  end

  def bar
    foo 
  end

  def cats
    bar      
  end
end

Example.new.cats 打印 bar。我正在尝试获取整个调用堆栈。例如猫 -> 酒吧 -> foo

更新:

这有效: puts caller[0..1]

Hello World
(irb):11:in `bar'
(irb):15:in `cats'
4

1 回答 1

5

例如使用:puts caller[0]这将为您提供呼叫者的信息。

于 2013-01-20T16:29:39.903 回答