Ответ
moko 04.06.2015 22:03
К сожалению, $caller достаточно хитрая сущность, поэтому ее невозможно получить в "чистом виде". :( $x[$caller] запишет в $x текущий результат вызывающего метода, а не объект $caller. $caller.self предложил, поскольку при отсутствии в локальных переменных вызовы дальше обычно идут в $self (MAIN или текущий объект) и результат будет какой надо. :)
Но можно завести например ^reflection.locals[пусто|caller], который бы возвращал хеш с локальными переменными вызвавшего его метода или локальными переменными $caller, который можно менять (по аналогии с ^reflection:fields[объект]).
- Передача caller («Caller и рекурсия 2»), G_Z [M] 03.06.2015 15:50
- Ответ, moko [M] 03.06.2015 16:58
- Что-то не получается, G_Z [M] 03.06.2015 23:02
- Ответ, moko [M] 04.06.2015 20:31
- Ответ, G_Z [M] 04.06.2015 20:47
- Ответ, moko [M] 04.06.2015 22:03
- Ответ, G_Z [M] 04.06.2015 22:08
- Ответ, moko [M] 04.06.2015 22:17
- Ответ, G_Z [M] 04.06.2015 22:21
- Ответ, MoKo 06.06.2015 00:48
- Ответ, G_Z [M] 06.06.2015 01:06
- Ответ, MoKo 06.06.2015 01:33
- $caller.self вообще не при делах, Misha v.3 [M] 04.06.2015 15:15
- Ответ, G_Z [M] 04.06.2015 16:14 / 04.06.2015 18:51
- Ответ, Misha v.3 [M] 04.06.2015 23:19
- Ответ, G_Z [M] 04.06.2015 23:29