parser

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

 

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

$result[$hash] +рекурсия

ViRus 17.07.2008 15:28 / 17.07.2008 15:32

Есть метод, рекурсивно собирающий информацию о количестве файлов и папок в выбранной папке.
@stat[dir][list]
^if(!def $hStat){ $hStat[^hash::create[]] }
$list[^file:list[$dir]]
^list.menu{
	$name[$dir/$list.name]
	^if(-f '$name'){
		$hStat.files[^eval($hStat.files+1)]
	}
	^if(-d '$name'){
		$hStat.folders[^eval($hStat.folders+1)]
		^stat[$name]
	}
}
$result[$hStat]
Идея такова, чтобы в $result[] класть хеш, содержащий значения $.files и $.folders. Т.е. вызывается таким образом
$folder_info[^stat[/content]]
$folder_info.files
$folder_info.folders
Без рекурсии все работает, выдает количество файлов и папок 1го уровня. Если включить рекурсию -
hash may not be overwritten with hash, store it to variable instead
С рекурсией, но без $result[$hStat] тоже работает, но не так красиво.

Не могу вьехать, в чем ошибка?