与__callee__
类似,是否存在返回调用方法的内容?我意识到有caller
我可以删除调用者方法的名称,但我很好奇是有一个标准的方法来返回调用方法的名称,而没有任何其他信息。
答案 0 :(得分:2)
MRI中没有此类功能。但也有一些替代方案。
如果你碰巧使用Rubinius,你可以这样做而不是解析caller
:
Rubinius::VM.backtrace(1, false).first.name
#=> :calling_method_name
您还可以use a gem to parse为您caller
{{1}}的结果。它适用于任何Ruby> 1.9。
The answer to this SO question描述了如何自己做一些简单的解析。
最后,似乎有work in progress将这样的功能添加到Ruby 2.0中,尽管相关的故障单还没有更新一段时间。