| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Азат Разетдинов 09.08.2007 16:48 / 09.08.2007 23:06
@CLASS
Hash
###########################################################################
# operator look over all hash elements with specified order
@foreach[hHash;sKeyName;sValueName;jCode;sSeparator;jOrder;sDirection][tKey;jEach;jExpression]
^if($hHash is "hash"){
^if(!def $sDirection){$sDirection[asc]}
$tKey[^hHash._keys[]]
$jEach{^if(def $sKeyName){$caller.[$sKeyName][$tKey.key]}^if(def $sValueName){$caller.[$sValueName][$hHash.[$tKey.key]]}}
^try{
$jExpression{${jEach}$jOrder}
^tKey.sort($jExpression)[$sDirection]
}{
$exception.handled(1)
^tKey.sort{${jEach}$jOrder}[$sDirection]
}
$result[^tKey.menu{${jEach}$jCode}[$sSeparator]]
}{
^throw[Hash;foreach;Variable must be hash]
}
#end @foreach[]