Что означает \ @array в Perl? - PullRequest
       1

Что означает \ @array в Perl?

11 голосов
/ 25 октября 2011

У меня есть некоторый Perl-код, где я заметил, что массив используется с ведущей обратной косой чертой, такой как \@array

Кто-нибудь может объяснить, что это значит?

Ответы [ 3 ]

18 голосов
/ 25 октября 2011

нотация \@ вернет ссылку (или указатель) на предоставленный массив, поэтому:

$arrayref = \@array

сделает $arrayref ссылкой на @array - это похоже на использование*p обозначение указателя на C.

18 голосов
/ 25 октября 2011

Это означает, что это ссылка на массив.

См. Документацию по perl , которая хорошо это объясняет

0 голосов
/ 25 октября 2011

Ссылки на массивы в первую очередь полезны в качестве параметров подпрограмм. Без ссылок передача массива @a (с элементами 1, 2, 3) в значительной степени аналогична передаче 1, 2 и 3 отдельно в подпрограмму. С \@array суб может видеть весь массив, например явно определять его длину, манипулировать им, чтобы вызывающий мог видеть изменения и т. д. Цена за эту мощность заключается в том, что подчиненный должен использовать более сложный синтаксис при доступе к элементам массива: $$a[0] вместо $a[0].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...