parser

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

 

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

Сложение/объединение хэшей. Как быть с hash-потомками?

BeaVe 16.05.2007 11:49 / 16.05.2007 11:54

Два варианта кода. Обо возвращают то, что не хочется... Но понимаю, что это верно. Но может задуматься и о другом способе объединения?
Вариант 1.
$hTest1[
	$.group[
		$.70[
			$.name[group_70]
		]
	]
]

$hTest2[
	$.group[
		$.50[
			$.name[group_50]
		]
	]
]

$hTest1[^hTest1.union[$hTest2]]

$hTest1.group.70.name
$hTest1.group.50.name

# результат: group_70
Вариант 2.
$hTest1[
	$.group[
		$.70[
			$.name[group_70]
		]
	]
]

$hTest2[
	$.group[
		$.50[
			$.name[group_50]
		]
	]
]

^hTest1.add[$hTest2]

$hTest1.group.70.name
$hTest1.group.50.name

# результат: group_50
А как мне объединить их так, чтобы одинаковые ключи не перезаписывались (в случае если они являются хэшем), а пополняли свое содержание?

Т.е. нужно чтобы результат был:
group_70
group_50
Я пока вижу только вариант с рекурсией обоих хэшей при их объединении.