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介紹瞭如何自己做一些簡單的解析。
最後,似乎有work in progress在Ruby 2.0中獲得這樣的功能,儘管相關的故障單尚未更新一段時間。
您鏈接的'sender' gem看起來非常重要。 – sawa 2012-03-18 23:43:38