Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Никита Козин 30.08.2005 08:46
Еще полезный пост: http://www.parser.ru/forum/?id=42382@print[v][temp] ^if(def $v){ ^if($v is table){^printTable[$v]} ^if($v is hash){^printHash[$v]} ^if($v is string || $v is int || $v is double){$v} ^if($v is class){<u>класс</u>} ^if($v is object){<u>объект</u>} ^if($v is file){^printFile[$v]} } # end @print[]Метод не идеален, причем далеко не идеален. Но переписывать лень, а для отладки пока хватает и этого.
@printHash[hash;params][_keys;level] ^if($hash is hash){ $order_direction[^if(def $params.direction){$params.direction}{asc}] $level(^params.level.int(0)) $_keys[^hash._keys[]] ^_keys.sort{$_keys.key}[$order_direction] $result[ <ul style="list-style-type: none^;"> ^_keys.menu{ <li style="color: #000000" style="padding: 0^;"> <b>^$^if($level > 0){.}${_keys.key}^if($hash.[$_keys.key] is int){(}{[}</b> <font color="#999999"> ^if($hash.[$_keys.key] is hash){ ^printHash[$hash.[$_keys.key]][ $.direction[$order_direction] $.level(^eval($level+1)) ] }{ ^print[$hash.[$_keys.key]] } </font> <b>^if($hash.[$_keys.key] is int){)}{]}</b> </li> } </ul> ] } # end @printHash[]