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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Serge Chervjakov                     2:5020/400     25 Apr 2004  18:51:17
 To : Andrew Rogov
 Subject : Re: <none>
 -------------------------------------------------------------------------------- 
 
 Sun Apr 25 2004 14:21, Andrew Rogov wrote to Alexander Balandin:
 
  AR> %merged = (%A, %B);
 
  AR> To save memory, loop over the hashes' elements and build a new hash that
  AR> way:
 
  AR> %merged = ();
  AR> while ( ($k,$v) = each(%A) ) {
  AR>     $merged{$k} = $v;
  AR> }
  AR> while ( ($k,$v) = each(%B) ) {
  AR>     $merged{$k} = $v;
  AR> }
 
  AR> Perl Cookbook, "5.10. Merging Hashes"
 
  С кукбуком конечно спорить не буду, но все-таки интересно, каким образом тут
 память-то экономится? Вроде ж создается тот же самый 3-й хэш, того же
 размера...
  IMHO, куда экономнее (по памяти) было бы что-нибудь вроде:
 @A{keys(%B)}=values(%B);
  Вот вопрос кстати. Почему пишется (тут) именно @A, а не %A? @ - тут означает,
 что мы именно списку ставим в соответсвие другой список?
 
 --- ifmail v.2.15dev5.3
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 <без заголовка>   Alexander Balandin   25 Apr 2004 15:08:46 
 Re: <none>   Andrew Rogov   25 Apr 2004 14:21:54 
 Re: <none>   Serge Chervjakov   25 Apr 2004 18:51:17 
 Re: <none>   Artem Chuprina   26 Apr 2004 12:32:11 
Архивное /ru.perl/166798e578270.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional