4
__callee__
と同様に、呼び出し元のメソッドを返すものがありますか? caller
がありますが、呼び出し元メソッドの名前を取り除くことは可能ですが、興味のあることは、呼び出すメソッドの名前を他の情報なしで返すための標準的なメソッドがあることです。呼び出し方法Ruby1.9
__callee__
と同様に、呼び出し元のメソッドを返すものがありますか? caller
がありますが、呼び出し元メソッドの名前を取り除くことは可能ですが、興味のあることは、呼び出すメソッドの名前を他の情報なしで返すための標準的なメソッドがあることです。呼び出し方法Ruby1.9
MRIにこのような特徴はありません。しかし、いくつかの選択肢があります。あなたがRubiniusのを使用するために起こる場合
、あなたが代わりにcaller
を解析するこれを行うことができます:
Rubinius::VM.backtrace(1, false).first.name
#=> :calling_method_name
をすることもできますuse a gem to parseあなたのためのcaller
の結果。これはRuby> 1.9で動作するはずです。
The answer to this SO questionは、簡単な構文解析方法を説明しています。
最後に、関連するチケットはしばらく更新されていませんが、最後に、このような機能をRuby 2.0に追加するにはwork in progressが表示されます。
あなたがリンクする「送信者」宝石は非常に重要に見えます。 – sawa