parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

moko 04.06.2015 22:03

К сожалению, $caller достаточно хитрая сущность, поэтому ее невозможно получить в "чистом виде". :( $x[$caller] запишет в $x текущий результат вызывающего метода, а не объект $caller. $caller.self предложил, поскольку при отсутствии в локальных переменных вызовы дальше обычно идут в $self (MAIN или текущий объект) и результат будет какой надо. :)

Но можно завести например ^reflection.locals[пусто|caller], который бы возвращал хеш с локальными переменными вызвавшего его метода или локальными переменными $caller, который можно менять (по аналогии с ^reflection:fields[объект]).