| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Misha v.3 21.09.2015 10:52 / 21.09.2015 11:12
@main[]
$h[^hash::create[]]
^parseData[$h;name.a.b.c;value1]
^parseData[$h;name.a.b.d;value2]
^parseData[$h;name0;value]
^parseData[$h;;value]
^dstop[$h]
@parseData[data;field;value][result;t;h;i]
$t[^field.split[.][lv]]
^switch($t){
^case(0){
$data.[$VOID][$value]
}
^case(1){
$data.[$t.piece][$value]
}
^case[DEFAULT]{
$h[^self.create[$data;$t.piece]]
^t.offset[set](1)
^for[i](1;$t-2){
$h[^self.create[$h;$t.piece]]
^t.offset[cur](1)
}
$h.[$t.piece][$value]
}
}
@create[h;k][result]
^if(!($h.$k is "hash")){$h.[$k][^hash::create[]]}
$h.$kP.S. на красоту и лаконичность не претендую