标签: ruby
可能重复: How to get the name of the calling method?
我有一个方法#foo。可以从许多地方(范围)调用该方法。我需要#foo来找出它的来源。但不是堆栈跟踪(就像#caller返回的那样),我想要方法的纯名称(就像#__callee__返回的那样)。 Ruby中是否存在这种方法?
#foo
#caller
#__callee__
答案 0 :(得分:0)
您可以使用__method__。将它放在任何方法体中,它应该提供方法的名称。您始终可以使用.class或.class.ancestors。
__method__
.class
.class.ancestors