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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Sergey E.Sumin                       2:5025/17      28 Feb 2003  15:08:10
 To : All
 Subject : Re: Hashes as keys
 -------------------------------------------------------------------------------- 
 
 > my $hash1 = {
 >                { 'name' => 'ivanov',
 >                  'mail' => 'ivan@mmm.com',
 >                 } => 1,
 >                { 'name' => 'petrov',
 >                  'mail' => 'petr@mmm.com',
 >                 } => 2,
 >               };
 
 Здесь перл делает преобразование хеша в строку.
 Получается то же, что
 my $hash1 = {'HASH(0x15d2508)'=>1,
                       'HASH(0x15d25ec)'=>2};
 
 >
 > my $hash2 = { 'name' => 'petrov',
 >                'mail' => 'petr@mmm.com'
 >               };
 
 Здесь получается хеш, который, если его преобразовать в скаляр, будет
 выглядеть как 'HASH(0x15d2508)', поскольку первый анонимный хеш из $hash1
 уже выкинули за ненадобностью.
 Вот и получается....
 
 >
 > Hадо:
 > вытащить из $hash1 значение с ключем $hash2,
 > или проверить наличие оного exists-ом.
 > Реально ли такое чудо?
 
 Чудеса бывают только на первых месяцах знакомства с перлом.
 Потом начинаешь его понимать...
 
 >
 > Пробовал "tie %$hash1, 'Tie::RefHash'" - наверное, не так пробовал:
 >
 > $hash1->{$hash2} всегда получается =1,
 > $hash1->{%$hash2} - всегда =undef,
 > а exists - всегда exists.
 >
 > То ли лыжи не едут, то ли я ....????
 >
 > Спасибо. Константин
 >
 
 Sergey E.Sumin
 --- Microsoft Outlook Express 6.00.2600.0000
  * Origin: RELEX Inc. (2:5025/17@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Re: Hashes as keys   Sergey E.Sumin   28 Feb 2003 15:08:10 
Архивное /ru.perl/775369a7bc76.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional