parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

G_Z 17.02.2021 01:15

Так просто разный результат может(уже мог) получиться.
@main[]
$n(1)
$s[^test[]] "$s"
$v(^test[]) "$v"

@test[]
magic ^n.int[] magic
Выдаст:
"magic 1 magic"
"1"
Ну, это совсем магия с отбрасыванием части результата.
Сомневаюсь, что кто-то такое осознанно использует.
парсер заранее не знает, что будет следующим оператором
Боюсь от этого можно избавиться только если придумаем способ явно декларировать использование $result в методе.
Всегда считал, что предупреждение:
Внимание: каждый метод должен или возвращать результат через $result во всех вариантах своего выполнения или не использовать $result вовсе. [3.4.0]
свидетельствует о наличии подобной проверки.