Ответ
G_Z 04.06.2015 16:14
/ 04.06.2015 18:51
Копирование — да, вариант, но тоже не слишком элегантный.
Тут вопрос в том, почему нельзя передавать ссылку на caller. Тогда это была бы не «цепочка caller'ов», а единственная ссылка на первый контекст.
если мы пишем своё, то проще передать вглубь какой-нить объект (хэш), в котором и будет происходить накопление результата, а не заниматься записью результата вверх по цепочке caller-ов
Есть, к примеру, итератор, перебирающий номера страниц постраничной навигации.
При этом как рендерить ссылку на страницу он понятия не имеет, ему передают код, который всё сделает сам.
Коду, понятно, нужно знать текущую страницу и подобное, тут без caller'а не обойтись.
Ну, или передавать итератору ссылку на метод, и его уже будет звать итератор, передавая нужное для отрисовки ссылки параметрами, что не так элегантно.
- Передача 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