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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : My Ё ўбҐ б ­Ё¬ бўп§ ­­®Ґ             2:5020/400     15 Jun 2003  17:13:50
 To : Serg Chervjakov
 Subject : My и все с ним связанное
 -------------------------------------------------------------------------------- 
 
 Sun Jun 15 2003 00:22, Serg Chervjakov wrote to All:
 
  SC> From: "Serg Chervjakov" <serg@enseza.elcom.ru>
 
  SC> Hi All,
 
  SC> Более менее привык я описывать в функциях все переменные с помощью my, но
  SC> надоедает один факт. Пишу функцию:
 
  SC> sub pr
  SC> {
  SC>  my ($vr1,$vr2)=@_; #это понятно.
  SC>  if (1==1)
  SC>  {
  SC>   $vr1=12; #это тоже понятно - тут все просто. Hо тут мне захотелось 
  SC>   my $ifvr1=123; #но вот эта переменная будет видна лишь внутри блока if
  SC>  }
  SC> }
 
  SC> Вот соб-сно и вопрос - как лучше всего сделать так, что бы $ifvr1 была
  SC> видна лишь внутри и за пределами блока if? А лишь внутри функции pr?
  SC> (самый простой вариант и я знаю - объявить ее там где надо и больше не
  SC> переобъявлять).
 
  SC> Hу и вопрос дальше. Скажем пишу:
 
  SC> sub pr
  SC> {
  SC>  my $vr1=12
  SC>  if (1==1)
  SC>  {
  SC>   my $vr1=234; #эта переменная будет сохранять свое значение лишь до
  SC> конца
  SC>                #блока if.
  SC>  }
  SC>  # а тут $vr1 уже равно 12.
  SC> }
 
  SC> То есть видно, что я могу создавать локальные переменные даже внутри
  SC> просто блока (не целой функции). Вопрос - как мне изнутри блока if
  SC> увидеть "наружное" значение $vr1?
 
  SC> ЗЫ: Вопросы скорее всего - "дурацкие", и скорее всего то что я спрашиваю
  SC> невозможно впринципе. Hо тем не меннее они достаточно интересны. Первый -
  SC> позволит меньше углубляться в тонкости с объявлением переменных и не
  SC> тратить время на то, что бы подняться на 5 строк выше, что бы сделать
  SC> описание. А второй - позволил бы организовывать "весёленькие" вложенные
  SC> циклы:).
 А зачем всё это ? :-/ 
 Если вы хотите, чтоб переменную было видно за пределами блока, так там её и
 стоит 
 определять. А если хотите внутри блока видеть "наружное" значение переменной,
 так не называйте её тем же именем. Зачем так извращаться, добиваясь ужасного
 стиля в программировании, когда можно просто взять и бросить программировать?
 ...
 
 С наилучшими пожеланиями, Михаил Спектор
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 My и все с ним связанное   Serg Chervjakov   15 Jun 2003 00:22:57 
 Re: My и все с ним связанное   Artem Chuprina   15 Jun 2003 10:04:03 
 Re: My и все с ним связанное   Serg Chervjakov   15 Jun 2003 11:33:46 
 Re: My и все с ним связанное   Artem Chuprina   18 Jun 2003 12:37:48 
 Re: My и все с ним связанное   Alexander Orlovsky   18 Jun 2003 13:00:29 
 Re: My и все с ним связанное   Artem Chuprina   18 Jun 2003 17:30:17 
 Re: My и все с ним связанное   Serg Chervjakov   18 Jun 2003 13:48:24 
 Re: My и все с ним связанное   Artem Chuprina   18 Jun 2003 17:28:13 
 My и все с ним связанное   My Ё ўбҐ б ­Ё¬ бўп§ ­­®Ґ   15 Jun 2003 17:13:50 
Архивное /ru.perl/16679b7475d89.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional