|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexey Mahotkin 2:5020/400 29 Mar 2003 13:59:44 To : "Rinat H. Sadretdinow" Subject : Re: Итерация более чем одного HASH -------------------------------------------------------------------------------- >>>>> "RHS" == Rinat H Sadretdinow <rhs@newmail.ru> writes: RHS> "Alexey Mahotkin" <alexm@hsys.msk.ru> wrote in message RHS> news:87smt7qkxr.fsf@hsys.msk.ru... >> Hаписать явный цикл. RHS> То есть делать что-то типа такого вот ужасного ужаса: Твой код менее перловый ;) скорее my @keys1 = keys %hash1; my @keys2 = keys %hash2; my @keys3 = keys %hash3; while (@keys1 or @keys2 or @keys) { my $key1 = shift @keys1; my $val1 = $hash1{$key1}; my $key2 = shift @keys2; my $val2 = $hash2{$key2}; my $key3 = shift @keys3; my $val3 = $hash3{$key3}; # do something with $keyN and $valN } Если бы оператор each не рестартовал обход после того, как дойдёт до конца, можно было бы ещё проще. Само собой, если хэши разных размеров, то тебе так и так придётся следить за undefined значениями. --alexm --- ifmail v.2.15dev5 * Origin: tyranny (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/5434c9183ecc.html, оценка из 5, голосов 10
|