parser

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

 

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

Ответ

Саян 01.01.2014 20:34

С наступившим)
Согласен, работа в контексте вызывающего метода напрашивается в первую очередь. И с hash of hash такая конструкция тоже будет работать без проблем. Но вот если в стек вызовов встроить метод, то, боюсь, появятся непреодолимые трудности.
@main[]
  $h[^for[i](1;20){$.[$i][$.a[^math:random(1000)]]}]
  $h[^hashUtils:selOdd[$h]($v.a < 450)]
  ^h.foreach[k;v]{$k => $v.a}[^#0A]

@CLASS
hashUtils

@selOdd[aHash;aConditions][locals]
$result[
	^select[$aHash;k;v]($k % 2 && $aConditions)
]

@select[aHash;aKeyVar;aValueVar;aConditions][locals]
  $result[^hash::create[]]
  ^aHash.foreach[k;v]{
    $caller.[$aKeyVar][$k]
    $caller.[$aValueVar][$v]
    ^if($aConditions){
      $result.[$k][$v]
    }
  }