parser

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

 

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

Ответ

moko 06.02.2021 20:23

Я всегда полагал, что если в методе четко задаю значение переменной result, то содержание метода (строки, числа) будет проигнорировано.
В документации такого нет. Там написано, что присвоенное значение будет результатом работы метода:
Все методы и операторы имеют локальную переменную result. Если ей присвоить какое-то значение, то именно оно будет результатом выполнения метода.
Но при этом метод будет выполнен до конца, и он должен быть корректен. Код ниже тоже вернет "hash may not be overwritten with hash", но
если закомментировать второй ^hash::create[], то результатом будет "string".
@main[]
    ^test[]

@test[]
    $result[string]
    ^hash::create[]
    ^hash::create[]