parser

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

 

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

На вид все логично

moko 06.02.2021 16:14

Но момент тонкий, и главное здесь - это способ вызова метода test. При вызове с квадратными скобками результатом ожидается строка, и поскольку число умеет преобразовываться в строку, ошибки не будет (будет строка '1 1'). При вызове с круглыми скобками результатом ожидается число, и выдача исключения, когда в результат попадает два числа не лишена логики, поскольку непонятно, что хотел сказать разработчик. В 3.4.5 аналогичное поведение. Но еще проверю, что это поведение проверяется тестами, похоже надо будет добавить тест.
@main[]
    $v[^test[]]
#    $v(^test[])
    ^if($v){ + }{ - }

@test[]
    ^first[]
    ^first[]
    $result(true)

@first[]
    $result(1)