Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
moko 09.05.2021 21:11
Думаю, автор, передавая ^return[] контекста @main[], предусмотрел возможность в переопределённом @preprocess[] вызвать полученный ^return[] и остановить обработку запроса.Именно так.
Но с какой целью — неясно.Да много может быть ситуаций, когда захочется пропустить дефолтную логику отдачи результата. Например при выдаче редиректа. И если задать результат работы вызывающего метода можно через $caller.result, то штатного способа прекратить работу вызывающего метода нет, поэтому используется такой трюк - использование локальной переменной $return в @preprocess[] прерывает работу @main[]. И кстати не могу вспомнить никакого другого языка, где возможен такой трюк. :)