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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Paul Kulchenko                       2:5020/400     02 May 2000  17:49:52
 To : All
 Subject : Closures (was: Re: mod_perl)
 -------------------------------------------------------------------------------- 
 
 Hi, Albert!
 Albert N. MICHEEV wrote in message <956637174@f80.n5049.z2.ftn>...
 
 > PK> Посколькy вопpос показался мне интеpесным, пpиведy слегка
 > PK> модифициpованный код, а потом свои объяснения. Пpежде всего,
 > PK> вышепpиведенный код ВЫГЛЯДИТ совеpшенно безобидно, даже после втоpого
 > PK> pассмотpения (хотя я так и не пишy). Рассмотpим такой код:
 >(W closure) An inner (nested) named subroutine is referencing a lexical
 >variable defined in an outer subroutine.
 >When the inner subroutine is called, it will probably see the value of the
 >outer subroutine's variable as it was before and during the *first* call to
 
 the
 
 >outer subroutine; in this case, after the first call to the outer
 
 subroutine is
 
 >complete, the inner and outer subroutines will no longer share a common
 
 value
 
 >for the variable. In other words, the variable will no longer be shared.
 >This problem can usually be solved by making the inner subroutine
 
 anonymous,
 
 >using the sub {} syntax. When inner anonymous subs that reference variables
 
 in
 
 >outer subroutines are called or referenced, they are automatically rebound
 
 to
 
 >the current values of such variables.
 >
 >тепеpь попpобyй как советyют (я сам когдато столкнyлся с такой пpоблемой)
 
 Так и делаю. У меня этой проблемы нет. Я попытался объяснить ПОЧЕМУ это
 происходит (надеюсь, что правильно), поскольку в эхе по этому поводу
 объяснений не было, а были рекомендации: "это делай, а это не делай".
 
 Тот вариант, который приводил к ошибкам в mod_perl, тоже имеет право на
 существование, просто нужно знать о его особенностях и соответственно
 [осмысленно] использовать тот, который нужен (а не потому, что "в эхе
 сказали писать так".
 
 Best wishes, Paul.
 --- ifmail v.2.15dev5
  * Origin: Rostelecom/Internet Centre (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Closures (was: Re: mod_perl)   Paul Kulchenko   02 May 2000 17:49:52 
Архивное /ru.perl/65529c4871f8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional