parser

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

 

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

Ответ

Misha v.3 16.11.2014 02:48 / 16.11.2014 03:24

то, что в фигурных скобках -- это junction-code. его нельзя вызвать с помощью ^имя[]. оно выполняется при любой попытке обращения к нему:
$jCode{2+2=^eval(2+2)}
$jCode ^rem{ вот при выполнении этой строки парсер выполнит содержимое jCode }
$jCode ^rem{ тут он выполнит его ещё раз }
$jCode ^rem{ и ещё }
а с помощью ^имя[] вызываются junction-method-ы. для вызова они должны быть определены в каком-нить классе. у случае скрещивания ежа с ужом это может выглядеть так:
@main[]
$obj[^MyClass::create[]]

^obj.test[параметры] ^rem{будет вызван метод myMethod класса myClass}


@CLASS
MyClass

@create[]

@GET_DEFAULT[]
$result[$myMethod] ^rem{тут мы возвращаем junction-method -- грубо говоря ссылку на метод myMethod текущего класса}

@myMethod[hParams]
blah-blah-blah
P.S. что касается 500 ошибки -- очевидно, что её быть не должно. баг вижу. исправим. спасибо.