Работа с массивами в Perl
Перевод достаточно вольный. Комментарии и предложения оставляете в виде комментариев, внизу страницы
- Инициализация (очистка) массива.
- Определение существования элемента массива.
- Определение количества элементов в массиве.
Автор статьи не дает никаких гарантий, что код приведенный в ней будучи "преобразованный" с помощью Copy/Past заработает. Все примеры работали на момент написания статьи.
Инициализация (очистка) массива.
Реализация
my @array = ();
Реализация
$#array - это индекс (порядковый номер) последнего элемента массива (на единицу меньше, чем количество элементов в массиве, так как массив начинается с нуля). Присвоение $#array изменяет длину массива @array, таким образом вы можете уничтожить (или очистить) все элементы массива между заданным при присвоении и последним. При присвоении -1, все элементы уничтожаются и массив очищается. Я рекомендую следующее решение:
$#array = -1;
Определение существования элемента массива
Реализация
print "Значение СУЩЕСТВУЕТ, но может быть неопределенно.\n"
if exists $array[ $index ];
print "Значение ОПРЕДЕЛЕНО, но может быть false.\n"
if defined $array[ $index ];
print "Зачениие элемента с индексом $index TRUE.\n"
if $array[ $index ];
Определение количества элементов в массиве.
Реализация
Если вы хотите вывести количество элементов в массиве, то вот самый простой способ:
print "size of array: " . @array . ".\n";
Реализация
Если вы хотите присвоить размер массива переменной, то просто используйте скалярный контекст:
$size = @array;
print "size of array: $size.\n";
Явно, скалярный контекст может быть получен с помощью функции scalar
$size = scalar @array;
print "size of array: $size.\n";
Кроме этого, существует еще один способ получения количества элементов массива. Я рекомендую использовать именно его:
Реализация
$size = $#array + 1;
Автор
Alex BATKO <abatko AT cs.mcgill.ca>
Спасибо всем, кто присылал комментарии и предложения.
См. еще
Оставить комментарий
Оставлять комментарии могут только зарегистрированные пользователи.
Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.


