调用方法Ruby1.9

与__callee__类似,是否有返回调用方法的东西?我知道有一个调用者,我可以从中删除调用者方法的名称,但我很好奇是有一个标准的方法来返回调用方法的名称,而没有任何其他信息. 最佳答案 MRI中没有这样的特征.但也有一些选择.

如果你碰巧使用Rubinius,你可以这样做而不是解析调用者:

Rubinius::VM.backtrace(1, false).first.name
#=> :calling_method_name

你也可以use a gem to parse调用者的结果.它适用于任何Ruby> 1.9.

The answer to this SO question描述了如何自己进行一些简单的解析.

最后,似乎有work in progress将这样的功能加入到Ruby 2.0中,尽管相关的故障单还没有更新一段时间.

点赞