parser

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

 

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

Мое решение

serglif 28.09.2004 13:22

Поскольку конструкции вида:
 $^for[i](0;1){$vars.i}[.]
не парсятся (пробовал варианты с ^process, но пока неудачно), то видимо возможно решение только с заранее заданными ограничениями на вложенность ключей хэша. Я сделал так:
@get_var_from_hash_by_long_name[name]
 $rows[^name.split[.]]
 $cols[^name.split[.;h]]
 ^switch[^rows.count[]]{
  ^case[1]{$$cols.0}
  ^case[2]{$[$cols.0].[$cols.1]}
  ^case[3]{$[$cols.0].[$cols.1].[$cols.2]}
  ^case[4]{$[$cols.0].[$cols.1].[$cols.2].[$cols.3]}
  ^case[4]{$[$cols.0].[$cols.1].[$cols.2].[$cols.3].[$cols.4]}
 }
Универсальность конечно отсутствует, но работает...