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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     19 Mar 2003  15:43:43
 To : Alan Long
 Subject : Re: про рекурсию
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Alan Long.
 
 AL> Если данные которые находятся в объекте по-каким-либо причинам не
 AL> корректные, то возможно зацикливание рекурсивной процедуры. Для этого мы
 AL> вводим некий хеш для отлова обработки одинаковых id:
 AL> sub tree_list {
 AL>    ...
 AL>    my %loop;
 
 AL>    sub _tree_list {
 AL>       ...
 AL>       my $id = shift;
 AL>       ...
 AL>       unless( defined $loop{$id} ) {
 AL>          $loop{$id} = 1;
 AL>          ....
 AL>       }
 AL>    }
 AL>    ...
 AL> }
 
 AL> Hо в этом случае perl ругается на то, что %loop не может быть расшарен в
 AL> tree_list и _tree_list, сейчас я сделал так:
 AL>    our %loop = (); # вместо my %loop;
 
 AL> Hасколько это правильное решение ?
 AL> Или можно было-бы как-то более проще/правильнее сделать это ?
 
 Альтернативный вариант - не лениться передавать в _tree_list ссылку на этот
 хэш.
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 про рекурсию   Alan Long   17 Mar 2003 06:39:34 
 Re: про рекурсию   Yury Kopyl   19 Mar 2003 14:47:48 
 Re: про рекурсию   Andrey Chernomyrdin   19 Mar 2003 17:06:55 
 Re: про рекурсию   Artem Chuprina   19 Mar 2003 15:43:43 
Архивное /ru.perl/114775fb5d7a1.html, оценка 1 из 5, голосов 22
Яндекс.Метрика
Valid HTML 4.01 Transitional