|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Sergey Gernichenko 2:5079/49.18 10 Feb 2004 10:24:54 To : Dmitry Y. Labutin Subject : Re: Передача HASH'а в процедуру по значению -------------------------------------------------------------------------------- Во вторник, 10 февраля 2004 года, в 02:21, Dmitry Y. Labutin писал(а) All: DYL> Hужно следующее. DYL> Hапример есть хеш: DYL> $q{a} = 1; ^^^^^^^^^^^^^^^^^ DYL> Hужно в функцию передать хеш $q{значение здесь вычисляется в ходе DYL> работы}, Я не понял, у тебя значения элементов хеша скаляры или что??? Судя по подчеркнутому - скаляры.. Судя по этому, то вроде как ссылки на хеши... Запомни, элементом хеша может быть *только* скаляр. Ссылка на хеш или массив является скаляром. DYL> Что-то в этом роде: Если я тебя правильно понял... DYL> sub qqq DYL> { DYL> @_[0]{b} = 2; $_[0]->{b}=2; DYL> } DYL> $q{a} = 1; DYL> qqq ($q{b}); qqq(\$q{b}); DYL> print $q{a}; # печатает 1 DYL> print $q{b}{b}; # печатает 2 print $q{b}->{b} DYL> print $q{b}{с}; # печатает 3 DYL> Естественно это не работает. Как правильно нужно это написать? DYL> И вопрос вдогонку - как проверить $q{b} - это конечное значение или DYL> вложенный хеш? perldoc ref До свидания, *Dmitry* С уважением, *Sergey*. ... А сегодня хорошая погода --- WinNT 5.1.2600-Service_Pack_1 i1586 Eng, AS Perl5.6.1, Borland C++ v5.02 * Origin: Работать надо, пока ещё не лень (2:5079/49.18) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/343540285f5f.html, оценка из 5, голосов 10
|