"Каждый метод должен будет или возвращать результат через $result во всех вариантах своего выполнения или не использовать $result вовсе."
moko 19.06.2020 14:40
/ 19.06.2020 14:40
Так с версии 3.4.0. Проблема решается добавлением $result[] в начале метода.
Вообще в приведенном коде есть тонкий момент. Конструкция ^return[] не возвращает пустой результат. Она осуществляет выход из метода, а результатом его работы будет весь вывод до вызова ^return[], то есть переносы строк и два пробела (это легко увидеть, добавив туда непробельный символ). То есть если бы в вашем коде было ^return[z], все бы работало корректно. Получается в парсере сейчас нет официальной возможности вернуть пустой результат, кроме обходных вариантов типа использования пустой переменной (^return[$empty]).
Что с этим сделать без потери совместимости и чтобы было логично - пока непонятно. :( Придумываются только странные варианты типа ^return[;]
- чюдеса с ^result[] и $return[], ivan.pospehov 19.06.2020 14:00
- "Каждый метод должен будет или возвращать результат через $result во всех вариантах своего выполнения или не использовать $result вовсе.", moko [M] 19.06.2020 14:40 / 19.06.2020 14:40
- Ответ, G_Z [M] 20.06.2020 11:59
- Ответ, Maxx [M] 19.06.2020 19:56
- Ответ, ivan.pospehov 19.06.2020 15:56