わたなべです.

民斗 <tommy / valley.ne.jp> writes:

:が、全く同じ処理ではないので、どのメソッドによって呼び出されたのかを 
:C 関数中で判断して、処理を変えたいのですが、このようなことは可能でしょ
:うか?

eval.c の backtrace() を参考にしてください.
rb_id2name(the_frame->prev->func) のような感じ.

  def bar
    p caller(0)
  end
  def foo1
    bar
  end
  def foo2
    bar
  end
  foo1
  foo2

-- 
わたなべひろふみ