The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"хэш хэшей"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"хэш хэшей" 
Сообщение от Леонид Д. Искать по авторуВ закладки on 01-Окт-05, 16:31  (MSK)
Есть глупый вопрос по перлу. Не могу разобраться со ссылками на хэши - пробую создать хэш хэшей таким образом:

#!/usr/bin/perl

for($i=1; $i<10; $i++)
{

    $hash1{$i} = { };

    for($k=10; $k<20; $k++)
    {
        $ref = $hash1{$i};
        $ref{$k} = "smth";
    }
}

а потом его прочитать:

foreach $akey (keys %hash1)
{
    $ref_hash = $hash1{$akey};
    print "$akey\n";

    foreach $bkey (keys %ref_hash)
    {
        print "    $bkey\n";


    }
}


В результате выводятся ключи только %hash1, а ключи тех хэшей, ссылки, на которые он должен бы содержать - нет. Наверное я его неправильно заполнил. Вот только как будет правильно?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • хэш хэшей, chip, 16:55 , 01-Окт-05, (1)  
    • хэш хэшей, Леонид Д., 17:51 , 01-Окт-05, (2)  

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "хэш хэшей" 
Сообщение от chip emailИскать по авторуВ закладки(ok) on 01-Окт-05, 16:55  (MSK)
>> Вот только как будет правильно?

Ты скажи по-русски чего сделать-то хочешь ?!


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "хэш хэшей" 
Сообщение от Леонид Д. Искать по авторуВ закладки on 01-Окт-05, 17:51  (MSK)
>>> Вот только как будет правильно?
>
>Ты скажи по-русски чего сделать-то хочешь ?!


Нужно сделать так чтоб с каждым ключом первого хэша была ассоциирована ссылка на один из анонимных хэшей. Т.е. должно быть примерно так:

хэш1:
1 => ссылка на хэш2
2 => ссылка на хэш3
3 => ссылка на хэш3
4 => ссылка на хэш5
и т.д.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "хэш хэшей" 
Сообщение от gr Искать по авторуВ закладки on 01-Окт-05, 22:24  (MSK)
>>>> Вот только как будет правильно?
>>
>>Ты скажи по-русски чего сделать-то хочешь ?!
>
>
>Нужно сделать так чтоб с каждым ключом первого хэша была ассоциирована ссылка
>на один из анонимных хэшей. Т.е. должно быть примерно так:
>
>хэш1:
>1 => ссылка на хэш2
>2 => ссылка на хэш3
>3 => ссылка на хэш3
>4 => ссылка на хэш5
>и т.д.

примерно так
        
#!/usr/bin/perl

for (1..10) {
    %tmphash = (
                1 => 'a',
                2 => 'b',
                3 =>'c'
                );
    $hash{$i++} = \%tmphash;
}

for (keys %hash) {
    print "$_    ", join(',',keys %{$hash{$_}}), "\n";
}

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "хэш хэшей" 
Сообщение от chip emailИскать по авторуВ закладки(ok) on 03-Окт-05, 09:32  (MSK)
>>>> Вот только как будет правильно?
>>
>>Ты скажи по-русски чего сделать-то хочешь ?!
>
>
>Нужно сделать так чтоб с каждым ключом первого хэша была ассоциирована ссылка
>на один из анонимных хэшей. Т.е. должно быть примерно так:
>
>хэш1:
>1 => ссылка на хэш2
>2 => ссылка на хэш3
>3 => ссылка на хэш3
>4 => ссылка на хэш5
>и т.д.

#!/usr/bin/env perl -w

use strict;

my %hash = (
  1 => {  10  =>  100,
          11  =>  110,
          12  =>  120
       },
  2 => {  20  =>  200,
          21  =>  210,
          22  =>  220
       },
  3 => {  30  =>  300,
          31  =>  310,
          32  =>  330
       },
);

foreach my $key (sort(keys %hash)) {
  foreach my $i (sort(keys %{$hash{$key}})) {
    print $hash{$key}->{$i}, " ";
  }
  print "\n";
}


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру