parser

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

 

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

Копирование многоуровневых хешей

virusav 05.03.2012 01:14

hash::create создает копию для одноуровневых хешей, а для многоуровневых создает ссылку на исходный хеш.
Есть 2 куска кода:
1.
	$hData[
		$.value[111]
	]
	$hData1[^hash::create[$hData]]
	$hData1.value[222]
	$hData.value=>$hData1.value
Получаем 111=>222, т.е. копия успешно создана, при изменении копии основной хеш не изменяется.
2.
	$hData[
		$.1[
			$.value[111]
		]
	]
	$hData1[^hash::create[$hData]]
	$hData1.1.value[222]
	$hData.1.value=>$hData1.1.value
Получаем 222=>222, т.е. создана ссылка, при изменении копии основной хеш изменяется.

Есть ли способ сделать копию многоуровневого хеша, чтобы при изменении копии основной хеш не изменялся?