parser

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

 

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

я совершенно не понял, что вы спрашиваете, но попробую прочитать мысли используя магию вуду.

Misha v.3 07.11.2014 00:41 / 07.11.2014 02:37

@CLASS
myclass

@create[]

@GET[type]
^switch[$type]{
  ^case[def]{$result(false)}
}


@main[]
$myobj[^myclass::create[]]
^if(def $myobj){def}{undef}
выведет "undef", хотя объект $myobj существует (его только что создали), т.к. будет вызван GET с параметром def, который, согласно написанному, вернёт false и в if сработает else.

ну... это в теории. но похоже вы нашли баг в @GET[def] и это не так. исправим :)
workaround: пока в случае def для того, чтобы сработало как надо можете написать
^case[def]{$result[]}
А еще там есть типа expression - не описано как это и где применимо в принципе в любом выражении?
expression это то, что в круглых скобках, например:
^if($x){...}
^if($a eq 'asd' || $b){...}
т.е. "$x" и "$a eq 'asd' || $b" это expressions (выражения), которые вычисляются.
если $x -- объект и у него есть @GET[], то в параметре типа вызова придёт "expression".