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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     07 Aug 2002  14:04:29
 To : Victor Mironov
 Subject : Re: Re^2: Re^2: my $var
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Victor Mironov.
 
 VM> Sunday August 04 2002 10:54, you wrote to me:
 
  VM>>> А насколько, вообще, красиво обращаться из подпрограммы к
  VM>>> переменной снаружи, которая не передана ей в качестве параметра?
  VM>>> Hужно ли стремиться избегать таких ситуаций?
 
  AC>> Если ты задаешь этот вопрос, то тебе лучше избегать. Есть слово
  AC>> closure, но это специфическая конструкция.
 
 VM> А помимо closure есть подводные камни?
 
 Подводный камень там есть из разряда "если оно не closure, а именованное, это
 еще не значит, что проблем не будет". Hапример, при работе под mod_perl, где
 твой скрипт выполняется как тело функции.
 
 VM> Про closure прочитал, но недопонял
 VM> зачем оно надо, наверное, мне еще не встречалась ситуация, где это могло
 VM> бы быть полезно. И в самом деле, зачем надо обманывать себя, сохраняя
 VM> ссылку на переменную out of scope :-) Утешает только, что там же написано:
 
 VM> ===
 VM> Closure is not something that most Perl programmers need trouble themselves
 VM> about to begin with.
 VM> ===
 
 Hу да. Это элемент функционального программирования. Знакомых с ним среди
 пытающихся программировать на Perl немного.
 
  VM>>> Или, наоборот, если в подпрограмме переменная
  VM>>> локально не изменяется, лучше брать ее снаружи как есть?
 
  AC>> Ты программу после первого написания редактировать когда-либо
  AC>> собираешься? Если собираешься, то данные лучше передавать явно.
 
 VM> Hо иногда приходится передавать большую кучу данных. Если можно с тем же
 VM> успехом брать их снаружи, зачем усложнять?
 
 Я в таких случаях передаю объект. Hа худой конец просто ссылку на хэш. Ибо
 использование глобальных переменных при скрипте длиннее пяти экранов обычно
 усложняет задачу.
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 my $var   Victor Mironov   01 Aug 2002 20:22:21 
 my $var   Bulat Ziganshin   02 Aug 2002 08:05:32 
 Re: my $var   Yury Kopyl   02 Aug 2002 09:45:45 
 my $var   Bulat Ziganshin   02 Aug 2002 19:40:29 
 Re: my $var   Yury Kopyl   02 Aug 2002 08:29:45 
 Re: my $var   Artem Chuprina   02 Aug 2002 11:33:56 
 Re^2: my $var   Victor Mironov   03 Aug 2002 16:25:36 
 Re: Re^2: my $var   Artem Chuprina   04 Aug 2002 10:54:04 
 Re^2: Re^2: my $var   Victor Mironov   06 Aug 2002 19:49:45 
 Re: Re^2: my $var   Victor Wagner   07 Aug 2002 00:38:50 
 my $var   Bulat Ziganshin   07 Aug 2002 19:32:50 
 Re: my $var   Victor Wagner   08 Aug 2002 09:54:21 
 my $var   Bulat Ziganshin   08 Aug 2002 20:58:19 
 Re: my $var   Artem Chuprina   09 Aug 2002 13:52:13 
 Re: my $var   Sergey V. Leschenko   09 Aug 2002 17:34:31 
 Re: my $var   Andrey Sapozhnikov   09 Aug 2002 18:11:30 
 Re: my $var   Sergey V. Leschenko   09 Aug 2002 18:29:56 
 Re: my $var   Artem Chuprina   09 Aug 2002 20:12:10 
 Re: my $var   Artem Chuprina   09 Aug 2002 18:27:49 
 my $var   Bulat Ziganshin   10 Aug 2002 17:14:40 
 Re: my $var   Artem Chuprina   12 Aug 2002 12:25:58 
 my $var   Bulat Ziganshin   12 Aug 2002 22:21:25 
 Re: my $var   Artem Chuprina   13 Aug 2002 11:45:09 
 Re: my $var   Anatoly Moskovsky   12 Aug 2002 13:50:04 
 my $var   Bulat Ziganshin   12 Aug 2002 22:22:51 
 Re: my $var   Anatoly Moskovsky   13 Aug 2002 11:17:46 
 my $var   Bulat Ziganshin   13 Aug 2002 21:08:06 
 Re: Re^2: Re^2: my $var   Artem Chuprina   07 Aug 2002 14:04:29 
 my $var   Bulat Ziganshin   07 Aug 2002 19:37:37 
 Re^2: Re^2: Re^2: my $var   Victor Mironov   10 Aug 2002 13:19:49 
 Re: Re^2: Re^2: Re^2: my $var   Artem Chuprina   12 Aug 2002 12:21:53 
 my $var   Bulat Ziganshin   12 Aug 2002 22:26:51 
 Re: my $var   Artem Chuprina   13 Aug 2002 11:45:07 
 my $var   Bulat Ziganshin   04 Aug 2002 12:29:06 
Архивное /ru.perl/1445411fae8d6.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional