Справочник функций

Ваш аккаунт

Логин:
Пароль:
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:
Убрать блок ВКонтакте навсегда

Последние темы форума

Показать новые сообщения »

Почтовая рассылка



Подписчиков: 19017
Последний выпуск: 23.04.2012

Работа с массивами в Perl

Alex BATKO
Оригинал (англ.): http://www.cs.mcgill.ca/~abatko/
<abatko AT cs.mcgill.ca>
Перевод достаточно вольный. Комментарии и предложения оставляете в виде комментариев, внизу страницы

Автор статьи не дает никаких гарантий, что код приведенный в ней будучи "преобразованный" с помощью 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) части страницы.

Комментарии

1. 3D Bob / 27 июля 2005, 12:34:07
+2 / -0
Мне нравитсяМне не нравится

Не густо, но все равно спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог