|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 04 Aug 2002 10:54:04 To : Victor Mironov Subject : Re: Re^2: my $var -------------------------------------------------------------------------------- Здравствуй, Victor Mironov. VM>>> подпрограмме локальную переменную с тем же именем, что и в VM>>> программе? Hапример: VM>>> my $var = '123'; VM>>> get_point($var); VM>>> sub get_point { VM>>> my $var = $_[0]; VM>>> handle($var) VM>>> } AC>> Зависит от того, нужна тебе в этой подпрограмме та переменная, что AC>> снаружи, или нет. Если нет, то ничем не плохо, кроме того, что AC>> текстовый редактор при поиске переменной $var тебе будет показывать AC>> обе, не делая между ними различий. Если же нужна, то плохо, потому что AC>> доступа к ней внутри оной подпрограммы не будет никакого. VM> А насколько, вообще, красиво обращаться из подпрограммы к переменной VM> снаружи, которая не передана ей в качестве параметра? Hужно ли стремиться VM> избегать таких ситуаций? Если ты задаешь этот вопрос, то тебе лучше избегать. Есть слово closure, но это специфическая конструкция. VM> Или, наоборот, если в подпрограмме переменная VM> локально не изменяется, лучше брать ее снаружи как есть? Ты программу после первого написания редактировать когда-либо собираешься? Если собираешься, то данные лучше передавать явно. -- 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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/144546e56dd42.html, оценка из 5, голосов 10
|