|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 04 Apr 2002 12:41:26 To : "Igor Gerdler" Subject : Re: Дополнения -------------------------------------------------------------------------------- Здравствуй, Igor Gerdler. IG> > #!/usr/bin/perl -w IG> > use strict; IG> > IG> > my @a; IG> > my @b; IG> > my @list = qw(aa bb cc ab ac bc 0 0); IG> > IG> > (/a/?@a:@b) = ($_) foreach @list; IG> > # Работает как положено IG> Я получил: IG> @list: aa bb cc ab ac bc 0 0 IG> @a: ac IG> @b: 0 IG> > push(1?@a:@b, $_) foreach @list; IG> > # Работает, очевидно в силу того, что значение IG> > # определилось на этапе компиляции IG> @list: aa bb cc ab ac bc 0 0 IG> @a: aa bb cc ab ac bc 0 0 IG> @b: IG> > push(/a/?@a:@b, $_) foreach @list; IG> > # Error: Type of arg 1 to push must be array (not null operation)... IG> > # контроль прототипов не пустил? IG> > # Ведь может определить, что это ARRAY (см. пример 1), но не делает. IG> > IG> > push(@{$_?@a:@b}, $_) foreach @list; IG> > # Работает как положено! (если такой конструкции IG> > # вообще положено работать :)) IG> @list: aa bb cc ab ac bc 0 0 IG> @a: aa bb cc ab ac bc IG> @b: 0 0 IG> > push(@{/a/?@a:@b}, $_) foreach @list; IG> > # Bizarre copy of ARRAY in leave... IG> > # От нифига себе. А в чем разница с предыдущим примером? IG> > IG> > push(@{/a/?\@a:\@b}, $_) foreach @list; IG> > # Работает как положено IG> @list: aa bb cc ab ac bc 0 0 IG> @a: aa ab ac IG> @b: bb cc bc 0 0 IG> > push(@{\(/a/?@a:@b)}, $_) foreach @list; IG> > # И это тоже работает как положено. IG> > # "Бессмысленный" reference-dereference IG> > # заставил поверить, что это ARRAY? IG> @list: aa bb cc ab ac bc 0 0 IG> @a: aa ab ac IG> @b: bb cc bc 0 0 Hе понял. Тебя удивил какой-то из результатов? -- 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/14454b2d4c2b8.html, оценка из 5, голосов 10
|