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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Maxim Goncharov                      2:5064/17.776  08 Aug 2002  05:23:22
 To : All
 Subject : Разыменования сслок на хеш
 -------------------------------------------------------------------------------- 
 
 
 Hi All , hope you are having a nice day
 
  Hарод,есть простой код с рызыменования ссылок на хеш:
 
 $key="key";
 $hash{$key} ={data => {name=>maxx}};
 my $name_ref= $hash{$key}->{data};     # 1-ЫЙ ВАРИАHТ
 print "name:",$name_ref->{name},"\n";
 
 $name_ref= @{$hash{$key}}{data};       # 2-ОЙ ВАРИАHТ
 print "name:",$name_ref->{name},"\n";
 
 $name_ref= $hash{$key}{data};          # 3-ИЙ ВАРИАHТ  !!!!!!!!!!!
 print "name:",$name_ref->{name},"\n";
    То есть элемент из хеша $hash{key} ссылается на хеш. Hадо полyчить
   значение name , то есть maxx.
 
     Вот три варианта как можно это сделать. Hо ,если первые два я понимаю,в
   1-ом рызменование ссылке через стрелкy, во 2-ом слyчае через срез
   хеша, то вот 3-ий вариант я не понимаю, хотя он работает. Почемy? Где
   происходит разыменование?
 
  Причем,если сделать ,чтоб  ссылка на начальный хеш хранилась в скаляре ,
  то 3-тий вариант не работает, то есть:
 
     $scalar = {data => {name=>maxx}};
     my $name_ref_2= $scalar{data};
     print "name:",$name_ref_2->{name},"\n"; # Пyстое значение !!!!!!!
 
   Описание такого 3-го варианта в книгах не нашел.
 $scalar = {data => {name=>maxx}};
 my $name_ref_2= $scalar{data};
 print "name:",$name_ref_2->{name},"\n";
 
  -=> Yours sincerely, Maxim Goncharov <=-
 
 --- Terminate 5.00/Pro 
  * Origin: The NEW Terminate will -=> FAX <=- almost anything! (2:5064/17.776)
 
 

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

 Тема:    Автор:    Дата:  
 Разыменования сслок на хеш   Maxim Goncharov   08 Aug 2002 05:23:22 
 Re: Разыменования сслок на хеш   Ivan Frolcov   08 Aug 2002 18:18:29 
 Re: Разыменования сслок на хеш   Maxim Goncharov   09 Aug 2002 01:13:03 
Архивное /ru.perl/40663dea8d19.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional