Вызов метода Ruby1.9 - PullRequest
       9

Вызов метода Ruby1.9

4 голосов
/ 18 марта 2012

Аналогично __callee__, есть ли что-то, что возвращает вызывающий метод?Я понимаю, что есть caller, из которого я могу удалить имя метода вызывающего, но мне любопытно, есть ли стандартный метод для возвращения имени вызывающего метода без какой-либо другой информации вместе с ним.

1 Ответ

2 голосов
/ 19 марта 2012

В МРТ такой функции нет. Но есть несколько альтернатив.

Если вы используете Rubinius, вы можете сделать это вместо анализа caller:

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

Вы также можете использовать самоцвет для анализа результата caller для вас. Это должно работать для любого Ruby> 1.9.

Ответ на этот вопрос SO описывает, как вы можете выполнить простой анализ.

И, наконец, находится в процессе разработки по включению подобной функции в Ruby 2.0, хотя соответствующий тикет некоторое время не обновлялся.

...