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はバーを出力します。コールスタック全体を取得しようとしています。例:猫->バー-> foo

アップデート:

これは機能します: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 に答える