Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
moko 17.02.2021 02:54
Ну, это совсем магия с отбрасыванием части результата.Вот потому и подумалось, что стоит эту магию убрать. :) И вроде как это оказалось возможно не ломая ничего другого.
Сомневаюсь, что кто-то такое осознанно использует.
свидетельствует о наличии подобной проверки.Не совсем. Тогда появились оптимизации, которые 1. игнорируют весь строковый вывод метода, если в первом вызове метода использовался $result. 2. Вообще не анализируют $result, если он не использовался при первом вызове. Это эффективные оптимизации, но если не соблюдать указанное правило, поведение будет не совсем очевидным (мягко скажем). Например:
@main[] 0. ^test[0] 1. ^test[1] 0. ^test[0] 1. ^test[1] 1. ^test-copy[1] 0. ^test-copy[0] 1. ^test-copy[1] 0. ^test-copy[0] @test[n] output ^if($n){$result[result]} @test-copy[n] output ^if($n){$result[result]}Вернет