| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Dima 30.10.2004 16:59
@doProc[id][pname;pf;pbody]
# если еще не процессили
^if(!$proc_cont.[$id].proc_body_loaded){
$pname[proc_${id}_main]
^try{
$pf[^file::load[text;$SITE_ROOT_DIR/$proc_cont.[$id].filename]]
$pbody[^taint[as-is][$pf.text]]
^if(^pbody.pos[@main^[^]] >= 0){
^rem{*** если есть метод main - меняем на свой ***}
$pbody[^pbody.match[\@main\^[\^]][g]{@${pname}^[^]}]
}{
^rem{*** еcли нет - приделаываем свой в начало ***}
^if(def $pbody){
$pbody[@${pname}^[^] ^#0A$pbody]
}
}
}{
^rem{*** х.з. ***}
$exception.handled(1)
$pbody[]
^memory:compact[]
}
^rem{*** процессим ***}
^if(def $caller.self){
^process[$caller.self]{$pbody}[$.file[$SITE_ROOT_DIR/$proc_cont.[$id].filename]]
}{
^process{$pbody}[$.file[$SITE_ROOT_DIR/$proc_cont.[$id].filename]]
}
^rem{*** запоминаем ссылку на junction и то, что уже процессили файл ***}
^proc_cont.[$id].add[
$.proc_body_loaded(1)
$.main[$$pname]
]
}
^if($proc_cont.[$id].main is "junction"){
$result[^trim[^proc_cont.[$id].main[]]]
}{
$result[]
}ничего не возвращает - $result[], т.е. $proc_cont.[$id].main не junction, почему?