parser

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

 

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

Ключ хеша в цикле foreach в принципе нельзя удалить? parser.runtime flocked же или есть трюк?

andylars 11.07.2015 19:37 / 11.07.2015 19:49

Собственно сабж.
Признаюсь сразу часы переработки близятся к критическое отметке, наверное завтра посмеюсь, но как не костылить тут?
$myhash[
   $.1[A]
   $.2[B]
   $.3[C]
]

^myhash.foreach[k;v]{
# в процессе перебора понимаем что текущий ключ мы хотим удалить из хеша
   ^myhash.delete[k]
}
Получаем: parser.runtime - can not modify hash (flocked)

С одной стороны понятно, что "целостность" перебора нарушится,
а с другой, надо сразу знать, что если будут удаления,
то надо идти через _keys.menu{ }