parser

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

 

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

Re: Ну раз пошла такая тема... :)

Никита Козин 10.07.2005 16:27

Предлагаю добавить еще пару методов:
@spacer[width;height]
$result[<div style="width: ^width.int(1)px^; height: ^height.int(1)px^;"><spacer type="block" width="^width.int(1)" height="^height.int(1)" /></div>]
# end @spacer[]

@foreach[hash;key;value;code;separator;order_direction][_keys;_int]
^if($hash is hash){
	$order_direction[^if(def $order_direction){$order_direction}{asc}]
	$_keys[^hash._keys[]]
	$_int(0)
	^_keys.menu{
		^if(^_keys.key.int(0)){$_int(1)}
	}
	^if($_int){
		^rem{ *** Если ключи хэша - числа, значит соритруем по числу *** }
		^_keys.sort($_keys.key)[$order_direction]
	}{
		^_keys.sort{$_keys.key}[$order_direction]
	}
	^_keys.menu{
		$caller.[$key][$_keys.key]
		$caller.[$value][$hash.[$_keys.key]]
		$code
	}[$separator]
}{
	^throw[parser.runtime;foreach;Переданная переменная не является хэшэм]
}
# end @foreach[]