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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     15 Jun 2003  10:04:03
 To : "Serg Chervjakov"
 Subject : Re: My и все с ним связанное
 -------------------------------------------------------------------------------- 
 
 Хмутро.
 
 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?
 
 "Лишь внутри и за пределами" - это как?
 
 SC> А лишь внутри функции pr?
 
 Объявить ее в функции pr.
 
 SC> Hу и вопрос дальше. Скажем пишу:
 
 SC> sub pr
 SC> {
 SC>  my $vr1=12
 SC>  if (1==1)
 SC>  {
 SC>   my $vr1=234; #эта переменная будет сохранять свое значение лишь до конца
 SC>                #блока if.
 SC>  }
 SC>  # а тут $vr1 уже равно 12.
 SC> }
 
 SC> То есть видно, что я могу создавать локальные переменные даже внутри
 SC> просто блока (не целой функции). Вопрос - как мне изнутри блока if увидеть
 SC> "наружное" значение $vr1?
 
 В случае с my - никак.
 
 SC> ЗЫ: Вопросы скорее всего - "дурацкие", и скорее всего то что я спрашиваю
 SC> невозможно впринципе. Hо тем не меннее они достаточно интересны. Первый -
 SC> позволит меньше углубляться в тонкости с объявлением переменных и не тратить
 SC> время на то, что бы подняться на 5 строк выше, что бы сделать описание.
 
 Ой, такое сложное занятие... Возьми текстовый редактор нормальный.
 
 SC> А второй - позволил бы организовывать "весёленькие" вложенные циклы:).
 
 Пользуйся рекурсией. Она специально для таких маньяков придумана.
 
 -- 
 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)
 
 

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

 Тема:    Автор:    Дата:  
 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/114773545ecd4.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional