|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Nick Kostirya 2:5020/400 24 Jun 2003 17:39:55 To : Michael Spector Subject : Re: Что-то странное ... или я что-то упустил --------------------------------------------------------------------------------
используй
sub func2 { ${$_[0]} = "Abba"; }
MS> Запускаю: perl -de
MS> DB<1> sub { $_[0] = "Abba"; }
MS> DB<2> sub func { $_[0] = "Abba"; }
MS> DB<3> $a = "BoneyM";
MS> DB<4> func($a);
MS> DB<5> print $a;
MS> DB<6> Abba
MS> ^^^^^ здесь всё нормально, как и должно быть
MS> DB<6> $b = "Hello";
MS> DB<7> func(\$b);
MS> DB<8> print $b;
MS> DB<9> Hello
MS> ^^^^^ тоже хорошо
MS> DB<9> sub func2 { $$_[0] = "Abba"; }
MS> DB<10> func2(\$b);
MS> DB<11> print $b;
MS> DB<12> Hello
MS> ^^^^^^ почему не Abba? ведь функция изменила значение
адреса, алиасом
MS> которого является $_[0] ?
MS> Hу а тут вообще что-то странное:
MS> DB<12> sub func3 { print $_[0]."\n".$$_[0]."\n"; }
MS> DB<13> func3(\$b);
MS> SCALAR(0x1cccd68)
MS> Abba
MS> DB<14> print $b;
MS> DB<15> Hello
MS> ^^^^^^ Это как ? ... в функции ето Abba, а за пределами
Hello ?
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.ru (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/64882c0c8838.html, оценка из 5, голосов 10
|