Обращение к элементам массиваВсем, кто уже работал с массивами в других языках, покажется вполне естественным, что в Perl предусмотрена возможность обращения к элементу массива по индексу. Элементы массивов нумеруются последовательными целыми числами с шагом 1, начиная с нуля:$fred[0] = "yabba"; $fred[1] = "dabba"; $fred[2] = "doo"; Имя массива (в данном случае "fred") существует в отдельном пространстве имен, не зависимом от скаляров. В той же программе можно создать скалярную переменную с именем $fred; Perl будет различать эти переменные и не перепутает их. (Зато перепутает программист, который будет заниматься сопровождением вашего кода, так что не стоит из прихоти называть все переменные одним именем!) Элементы массива вида $fred[2] могут использоваться везде3, где может использоваться скалярная переменная типа $fred. Например, можно получить значение элемента массива или изменить его с помощью тех же выражений, которые уже встречались нам в предыдущей главе: print $fred[0]; $fred[2] = "diddley"; $fred[1] .= "whatsis"; Конечно, вместо индекса может использоваться любое выражение с числовым результатом. Если оно не является целым числом, то будет автоматически усечено до ближайшего меньшего целого: $number = 2.71828; print $fred[$number - 1]; # Равносильно print $fred[1] Если индекс обозначает элемент, выходящий за границы массива, соответствующее значение будет равно undef. $blank = $fred[ 142_857 ]; # Неиспользованный элемент массива содержит undef $blanc = $mel; # Неиспользованный скаляр $mel также содержит undef Статьи из раздела Perl на эту тему: ![]() ![]() ![]() ![]() ![]() Вернуться в раздел: Perl / 2. Списки и массивы
|