Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Newbie 10.08.2009 16:26 / 10.08.2009 16:27
Решил овладеть Parser'ом как можно более глубоко, освоил львиную долю, но по ходу "пьесы" возник ряд вопросов, разрешить которые не могу.@main[] $loc[mainvar] # создадим переменную в методе main ^fun[somewhere] # вызовем метод с просто чем нить (это не принципиально) и это метод напечатает в "поток" funvar @fun[input][loc] $loc[funvar] ^process{$loc} # выдаст в поток на экран "funvar"Из докуменатции
...Строка будет скомпилирована и выполнена как код на Parser, в указанном контексте, или в текущем контексте.Я подозреваю, что не правильно понял что такое внутри метода (может это ^fun[^process{code}] и не будут доступны локальные переменные @fun'a - приведите пример плиз того случая, который указан в документации.
В качестве контекста можно указать объект или класс, но не метод
(т.е. если вы внутри вашего метода вызовите process, то внутри выполняемого с помощью process кода НЕ БУДУТ доступны локальные переменные вызывающего метода).
@main[] $running_man[^man::create[]] ^process[$running_man]{ Имя: $name<br /> # Выдаст Имя:<пусто> - то есть такое ощущение, что объект в качестве параметра не канает, если я } @CLASS man @create[] $name[Вася]Когда делаю ^process[$man:CLASS] - то вроде канает (пишу не с этого компа - поэтому не помню, но помню что именно с объектом в качестве контекста