Разное

Perl массивы: Perl — Массивы — CoderLessons.com

скалярные, ассоциативные. Их инициализация и обращение к элементам массива.

  • Массив (скалярный) является упорядоченным списком скаляров.

  • Каждый элемент массива имеет порядковый номер (индекс), с помощью которого к нему можно получить доступ. Нумерация элементов начинается с нуля.

  • Перед именем переменной типа массив указывается знак @, а для доступа к определенному элементу массива необходимо ставить знак $, так как определенный элемент массива является скаляром.

  • Тип скалярной переменной не фиксирован и определяется динамически в зависимости от контекста

  • Скалярный массив:

    • Является упорядоченным списком скаляров.

    • Каждый элемент массива имеет порядковый индекс, с помощью которого к нему можно получить доступ.

    • Нумерация элементов начинается с нуля.

    • Перед именем переменной-массива необходимо ставить знак ‘@’

    • При доступе к определенному элементу массива ставится знак ‘$’, так как он фактически является скаляром.

  • Хеш-таблица представляет собой ассоциативный массив, позволяющий ассоциировать строку (ключ) со скаляром (значение).

  • Строка называется ключом, а скаляр в хеш-таблице значением.

  • Перед именем переменной-списка необходимо ставить знак процента %, а для доступа к определенному элементу массива рекомендуется ставить знак $.

  • Хеш-таблица представляет собой массив, где в нечетных позициях находятся ключи, а на четных — значения.

Например, для того чтобы присвоить значение трем элементам массива %dict с индексами first, second и third, можно воспользоваться одним из двух способов, указанных ниже.

$dict {‘first’ } = «первый»; $dict {‘second’ } = «второй»;

$dict {‘third’ } = «третий»;

Поиск Perl.

В состав языка Perl входят средства поиска и замены, причем, задавая шаблон для поиска, можно использовать регулярные выражения.

Оператор поиска m// записывается следующим образом:

m/шаблон/

Если значение переменной $_ содержит подстроку, соответствующую указанному шаблону, оператор поиска возвращает значение true.

Рассмотрим следующий пример:

$_ = <INPUT>;

if (m/Scripts/)

{ print «В URL есть каталог Scripts \n»; }

else

{ print » В URL нет каталога Scripts \n»; }

Оператор замены Perl

 s/// записывается следующим образом:

s/шаблон поиска/выражение для замены/[набор модификаторов]

При выполнении оператора s/// производится поиск соответствия шаблону, и если поиск завершается успешно, найденная подстрока заменяется указанным выражением. Подобно оператору m//, оператор s/// использует переменную $_. Ниже приведен простейший пример применения оператора s///.

$_ = «CGI-сценарий написан на языке С»;

s/C$/Perl/;

print;

В результате выполнения сценария на консоль будет выведена следующая строка:

CGI-сценарий написан на языке Perl

Модификаторы.

g — глобальный поиск. Если этот модификатор не указан, после обнаружения первого соответствия оператор s/// закончит свою работу. Поэтому при отсутствии модификатора g будет произведено не более одной замены.

i — указывает, что при поиске следует игнорировать регистр символов.

e — указывает, что последовательность символов для замены следует интерпретировать не как подстроку, а как выражение Perl.

Чтобы поиск или замена производились в строке, содержащейся в нужной переменной, надо использовать следующее выражение:

Переменная =~ оператор_поиска_или_замены

Так, например, для преобразования шестнадцатеричных чисел, содержащихся в переменной $string, в десятичное представление можно использовать инструкцию:

$string =~ s/([0-9A-Fa-f]+)(H|h)/hex($1)/ge;

Ошибка — Vampyr`s House!

Главное меню

 Начало
 О сайте
 О авторе
 Видео Галерея
 Моя библиотека
 Блог
 Обратная связь

Ссылки

RSS трансляции

Ошибка

Ошибка 404 — Страница не найдена

Адрес, который вы запросили, отсутствует на этом сервере. Ссылка, по которой вы следовали, вероятно, устарела.

Ваша попытка получить доступ к www.415.spb.ru/page.php%3F159 была безуспешна.

Нажмите, чтобы перейти на главную страницу этого сайта
Нажмите, чтобы перейти на страницу поиска этого сайта

РадиоЭлектроника

СВ Радиосвязь
Каналы городов
Электроника
Оргтехника

Мои программы
Intel
PalmOS
WWW

Программирование
Сборник

Компьютерное
FAQ
Моя прошлая работа

Поиск Vampyr`s House!

Copyright © 1999-2014, Igor Muraviov. Все авторские права принадлежат их владельцам ( в случае указания) или владельцу сайта, если автор не указан.
Копирование материалов с сайта возможно только в случае размещения ссылки на первоисточник.

Списки и массивы (Learning Perl, 3-е издание)

Содержание:

Доступ к элементам массива
Специальные индексы массива
Литералы списка
Присвоение списка
Интерполяция массивов в строки
Структура управления foreach
Любимое значение Perl по умолчанию: $_
Скаляр и контекст списка
0017 Упражнения

Если скаляр был «единственным числом» в Perl, как мы его описали. в начале главы 2, «Скалярные данные», «множественное число» в Perl представлено списками и массивами.

Список — это упорядоченный набор скаляров. Ан Массив — это переменная, содержащая список. В Perl, эти два термина часто используются так, как если бы они сменный. Но, если быть точным, список — это данные, а массив — это переменная. У вас может быть значение списка, которого нет в массив, но каждая переменная массива содержит список (хотя этот список может быть пустым). На рис. 3-1 представлен список, независимо от того, хранится он в массиве или нет.

Рис. 3-1. Список из пяти элементов

Каждый элемент массива или списка — это отдельная скалярная переменная с независимым скалярное значение. Эти значения упорядочены, т. е. имеют конкретная последовательность от первого до последнего элемента. Элементы массива или списка проиндексировано маленькими целыми числами, начиная с ноль[67] и считая единицами, поэтому первый элемент любого массива или список всегда является нулевым элементом.

[67]Индексы массивов и списков всегда начинаются с нуля в Perl, в отличие от некоторых других языков. В раннем Perl было возможно изменить начальный номер индексации массива и списка (не для только один массив или список, но для всех сразу!). Ларри позже понял, что это неправильная функция, и ее (аб)использование теперь сильно обескураженный. Но, если вам крайне любопытно, поищите $[переменная в man-страница perlvar .

Поскольку каждый элемент является независимым скалярным значением, список или массив может содержать числа, строки, значения undef или любые смесь различных скалярных величин. Тем не менее, это наиболее общее, чтобы все элементы были одного типа, например, список книг названия (все строки) или список косинусов (все числа).

Массивы и списки могут содержать любое количество элементов. Самый маленький не имеет элементов, а самый большой может заполнить всю доступную память. Опять же, это соответствует философии Perl. «без лишних ограничений».

Если вы использовали массивы на другом языке, вы не будете удивлен, обнаружив, что Perl предоставляет способ индекс массив для ссылки на элемент по числовому индексу.

элементы массива нумеруются с помощью последовательные целые числа, начиная с нуля и увеличиваясь на единицу для каждого элемент, например:

 $fred[0] = "ябба";
$fred[1] = "дабба";
$fred[2] = "ду"; 

Само имя массива (в данном случае «fred») из совершенно другого пространства имен, чем используют скаляры; ты мог бы скалярная переменная с именем $fred в той же программе, и Perl будет относиться к ним как к разным вещам и не будет сбит с толку.[68] (Однако ваш программист может быть сбит с толку, поэтому не капризно делайте все ваши имена переменных одинаковыми!)

[68]Синтаксис всегда недвусмысленный — возможно, хитрый, но недвусмысленный.

Вы можете использовать элемент массива, такой как $fred[2] в каждое место[69], где вы можете использовать любую другую скалярную переменную, например $фред. Например, вы можете получить значение из элемент массива или измените это значение теми же выражениями мы использовали в предыдущей главе:

[69]Ну, почти. Самое заметное исключение заключается в том, что управляющая переменная цикла foreach, который мы увидим позже в этой главе, должен быть простым скаляром. А есть и другие, такие как «косвенный слот для объектов» и «косвенный слот дескриптора файла» для печати и принтф.

 print $fred[0];
$fred[2] = "Диддли";
$fred[1] .= "что есть"; 

Конечно, нижним индексом может быть любое выражение, дающее числовое значение. ценность. Если это уже не целое число, оно автоматически усекается до следующего меньшего целого числа:

 $число = 2,71828;
напечатать $fred[$number - 1]; # То же, что и при печати $fred[1] 

Если нижний индекс указывает на элемент, который находится за концом массива, соответствующее значение будет undef. Это так же, как с обычным скаляры; если вы никогда не сохраняли значение в переменной, это недеф.

 $blank = $fred[142_857]; # неиспользуемый элемент массива дает undef
$блан = $мел; # неиспользуемый скаляр $mel также дает undef 

2. 13. Упражнения 3.2. Специальные индексы массива

Copyright © 2002 O’Reilly & Associates. Все права защищены.

Архив книг/руководств/инструкций/учебников/документации

faqs.org

Добавление новых документов

  • Internet RFC Index
  • Указатель часто задаваемых вопросов Usenet
  • Другие часто задаваемые вопросы
  • Документы
  • Инструменты
  • Поиск
  • Часто задаваемые вопросы по поиску
  • Поиск RFC
  • Дом IFC
  • Города
  • страны
  • Больницы
  • Рейтинг веб-хостинга



Общие документы

  • Артикул пленки
  • Международные отношения США
  • Страны и их культуры
  • Энциклопедия смерти и умирания
  • Современная мода
  • Еда в каждой стране
  • Известные биографии
  • Проблемы загрязнения
  • Нахлыст — Lifetime Sport
  • Мир спортивной науки
  • Энциклопедия детей и детства в истории и обществе
  • Всемирный справочник меньшинств
  • Спортивные узлы
  • Вязание мушек
  • Пресноводная рыбалка
  • Приготовление в жаровне
  • Английский словарь
  • Фотословарь
  • Программа Cash for Clunkers
  • Объяснение химии
  • Профили президента США
  • Разъяснение науки
  • Шпионская энциклопедия
  • Справочник по биологии
  • Энциклопедия мифов
  • Объяснение погоды
  • Пресс-код
  • Энциклопедия воды
  • Освобожденные от налогов организации
  • Лучшие списки, ранжирующие многие предметы — лучшее и самое главное
  • Энциклопедия здоровья
  • Питание и благополучие от А до Я
  • Рефераты
  • Фотосъемка на открытом воздухе
  • Кемпинг: приключение на всю жизнь
  • Ологи и измы
  • Словарь собирательных существительных и групповых терминов
  • Аллюзии — культурные, литературные, библейские и исторические: тематический словарь
  • Патенты
  • Энциклопедия здоровья
  • Периодические издания
  • The World Factbook — списки стран
  • Флаги мира
  • Справочные карты мира
  • Постановления Комиссии по международной торговле США и согласованная таблица тарифов
  • Калькуляторы времени и даты
  • Информация о веб-сайте
  • База данных авторских прав
  • Профили банков США (номера банковских маршрутов)
  • Архив документов SEC
  • Поиск людей
  • Статистика бейсбола
  • Преодоление аллергии
  • Преодоление боли в спине
  • Преодоление проблем с пищеварением
  • Преодоление усталости
  • Преодоление женских неудобств
  • Преодоление головной боли
  • Преодоление бессонницы
  • Преодоление проблем с кожей
  • Преодоление стресса
  • Преодоление варикозного расширения вен
  • Преодоление проблемы с весом
  • Преодоление простуды и гриппа
  • Товарные знаки
  • Обзоры товаров
  • Информация о безопасности автомобилей, неисправные детали, отзывы, бюллетени, жалобы
  • Энциклопедия товарных знаков

Документы по Linux

  • Linux HOWTO A-H
  • Linux HOWTO IP
  • Linux HOWTO Q-Z
  • Linux Mini HOWTO A-L
  • Linux Mini HOWTO M-Z
  • Руководство сетевого администратора Linux, второе издание Олафа Кирча и Терри Доусона
  • Защита и оптимизация Linux, Герхард Мурани
  • Advanced Bash-Scripting Guide by Mendel Cooper
  • Учебник по коду HTML от Idocs Inc
Дополнительные документы

Предложите информационный ресурс (руководство, руководство, инструкции, документацию и т. д.) для включения в наш архив, отправив нам его веб-адрес. (вместо этого используйте форму ниже, если вы являетесь автором):

Предложите созданный вами информационный ресурс (руководство, учебник, инструкции, документацию и т. д.) для включения в наш архив:
Ваше имя
Ваша электронная почта
Название документа
OR
. мы должны знать:
Любые данные, которые вы хотите опубликовать в этом документе, например, ваше имя или ваш веб-сайт:

Я признаю, что являюсь автором этого документ. Я разрешаю FAQS.ORG публиковать этот документ в Интернете без каких-либо ограничений. Я согласен обезопасить и возместить FAQS.ORG любые претензии, затраты или ущерб, возникшие в результате публикации этого документа. Я согласен освободить FAQS.ORG от всех ответственность за претензии, расходы или ущерб, возникшие в результате публикации этого документа.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *