Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
BeaVe 17.05.2007 15:08
В общем заинтересовала меня идея Азата Разетдинова.@parseForm[][hForm;aForm;_hForm;jCheck] $result[^hash::create[]] ^form:fields.foreach[sFieldName;]{ # getting form field $hForm[^self._parseFormField[$sFieldName]] ^rem{ *** creating result hash *** } # declaring variables (for recursion) $aForm[$hForm] $_hForm[$result] $jCheck{ ^if($aForm is 'hash'){ ^aForm.foreach[sName;aBody]{ ^if(!def $_hForm.[$sName]){ $_hForm.[$sName][^hash::create[]] } $aForm[$aBody] $_hForm[$_hForm.[$sName]] $jCheck } } } $jCheck ^rem{ *** END creating result hash *** } } $result[$result] #end @parseForm[] @_parseFormField[strField][tMatches;sField] $tMatches[^strField.match[^^(\w+)[\.]?][']] ^if(def $tMatches.1){ ^if(!def $sField){ $sField[$strField] } $result[^hash::create[]] $result.[$tMatches.1][^self._parseFormField[$tMatches.postmatch]] }{ $result[$form:tables.[$sField]] } #end @_parseFormField[]НО результата я не добился... Т.к. мне нужно еще и присвоить значение в хэше.
$.about[ $.config[ $.name[ЗДЕСЬ ЗНАЧЕНИЕ ИЗ $form:tables.[about.config.name]] ] ]