* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Недавно в списках рассылки было некоторое обсуждение языковой конструкции, которая позволяет вам идентифицировать текущий метод , в котором вы находитесь. Он будет называться как thisMethod
и, по сути, будет делать для методов то, что this
делает для экземпляров классов.
Мне было бы интересно посмотреть, как это взаимодействует с функциями (которые отличаются от методов). Ваша p
- это анонимная функция, созданная путем частичного применения метода hello
(опять же, здесь вы должны быть осторожны, «частично примененная функция сильно отличается от PartialFunction
). Фактически вызванный метод будет apply
для этого функционального объекта, и есть несколько возможностей относительно того, как thisMethod
может вести себя в таком случае.
Что бы ни случилось, p
- это просто ссылка на объект, не ожидайте, что когда-либо сможет получить к нему доступ как к имени.