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