|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 08 Apr 2002 02:35:30 To : Igor Gerdler Subject : Re: Благодарность -------------------------------------------------------------------------------- e.ru> <a8k7mv$1am3$1@ddt.demos.su> <slrnaardod.l5n.ran@banquet.lan.ice.ru> e.ru> <a8kfst$2k15$1@ddt.demos.su> <slrnaarij3.l5n.ran@banquet.lan.ice.ru> e.ru> <3CADD7F5.7000300@icb.chel.su> <a8m7rc$1f2q$1@ddt.demos.su> From: "Andrey Sapozhnikov" <sapa@icb.chel.su> "Igor Gerdler" <perl@doreworld.com> wrote in message news:a8m7rc$1f2q$1@ddt.demos.su... > Особенно меня обескуражило > > my @a = (1, 2, 3, 4, 5, 6); > > my $ref = \@a[2,3]; > Пришлось посмотреть фрагмент в работе, сразу представить результат не > удалось :о( > Для таких-же как я поясню: ссылку на часть массива, количеством элементов > более 1 получить нельзя, в этом случае интерпретатор возвращает ссылку на > последний элемент этой части массива. В нашем случае $ref присавивается > ссылка на четвертый элемент массива (т.к. вероятнее всего они нумеруются с > 0). Если выразится в терминах Perl: > \@a[2,3] == \$a[3] Hу не совсем так. \@a[2,3] идентично \($a[2], $a[3]), что в списковом контексте идентично (\$a[2], \$a[3]), а в скалярном \$a[3]. Т.е. интерпретатор старается представить слайс как список из выбранных слайсом элементов. Андрей --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6577997c7fa7.html, оценка из 5, голосов 10
|