| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sumo 01.01.2014 19:40 / 01.01.2014 19:45
@main[]
$h[^for[i](1;100){$.[$i][^math:random(1000)]}]
$h[^hashUtils:select[$h;k;v]($k % 2 && $v < 450)]
^h.foreach[k;v]{$k => $v}[^#0A]
@CLASS
hashUtils
@select[aHash;aKeyVar;aValueVar;aConditions][locals]
$result[^hash::create[]]
^aHash.foreach[k;v]{
$caller.[$aKeyVar][$k]
$caller.[$aValueVar][$v]
^if($aConditions){
$result.[$k][$v]
}
}Это классический пример итератора на Парсере. Аналогичная схема применима в подавляющем большинстве подобных задач.