|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/65529c4871f8.html, оценка из 5, голосов 10
|