调用方法Ruby1.9

时间:2012-03-18 04:05:04

标签: ruby ruby-1.9

__callee__类似,是否存在返回调用方法的内容?我意识到有caller我可以删除调用者方法的名称,但我很好奇是有一个标准的方法来返回调用方法的名称,而没有任何其他信息。

1 个答案:

答案 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中,尽管相关的故障单还没有更新一段时间。