Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
MadCow 08.07.2010 17:06 / 08.07.2010 17:06
http://www.parser.ru/docs/lang/junctionclass.htmJunction (класс)Если я не ошибаюсь, в последней версии парсера у всех классов и их объектов есть системное поле CLASS_NAME
Класс предназначен для хранения кода и контекста его выполнения.
Системное поле класса: CLASS_NAME [3.2.2]Так, например, можно прочитать значение поля CLASS_NAME и у объектов и самого класса table
$объект.CLASS_NAME - хранит имя класса объекта.
$tab[^table::create{...}] $tab.CLASS_NAME $table:CLASS_NAMEИ, пока что, со всеми классами у меня проблем не возникало.
$uData{код}а именно ссылка на ранее определенный метод одного из классов.
$uData[$Класс:метод]Конечно, есть способ решить задачу проверки типа оператором is
^if($uData is "junction"){ $sClassName[junction] }{ $sClassName[$uData.CLASS_NAME] }Но это, на мой взгляд, не есть здорево на фоне того, что для всех остальных случаев этот древний и назойливый вопрос (определения типа переменной) получил простое и элегантное решение.