Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alex Mikhajlichenko                  2:5020/400     05 May 2004  18:32:16
 To : All
 Subject : Объединение вложенных хешей
 -------------------------------------------------------------------------------- 
 
 Hi,
 
 Есть два хеша хешей хешей... неизвестной заранее вложенности и структуры.
 
 Один - это какие-то default-значения, например
 
 my %default = (Арбуз=>{Спелость=>100, Полоски=>'зеленые'})
 
 а второй - какие-то новые
 
 my %new = (Арбуз=>{Спелость=>200, Семечки=>'черные'})
 
 как мне получить хеш результирующих параметров, где каждое значение будет
 
 $result{...}{...} = $new{...}{...} || $default{...}{...}
 
 и итог
 
 (Арбуз=>{Спелость=>200, Семечки=>'черные', Полоски=>'зеленые'})
 
 то есть смысл в том, чтобы в результирующем хеше были все значения, 
 встречающиеся либо в default либо в new, а если какой-либо ключ встречается и 
 там и там, то должно применяться значение из new.
 
 Я придумал делать копию %default, а потом запускать рекурсивный итератор по 
 ветвям new, который определяет, когда он добежал по ветке до скаляра, и вбивает 
 этот ключ в результат. Есть ли более простой способ?
 
 --
 *
 --- ifmail v.2.15dev5.3
  * Origin: Chereda News Server - http://www.chereda.net/ (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Объединение вложенных хешей   Alex Mikhajlichenko   05 May 2004 18:32:16 
 Объединение вложенных хешей   Ivan Frolcov   05 May 2004 18:55:28 
Архивное /ru.perl/10211e59b9358.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional