Хэш Содержимое Пример В следующем списке приведены некоторые фрукты и их цвета: Apple => фиолетовый банан => желтые груши => зеленый лимон => зеленый В списке мы видим, что яблоко фиолетовый, желтый банан, и т.д. => знак просто показывает, что элемент слева соответствует пункту справа. Это список хэш. Давайте посмотрим на типичный список массива; список имен некоторых работников в фирме: 0 Джон 1 Марии 2 Петра 3 Августин 4 Ангела 5 Сьюзан 6 Martin В списке массива первый столбец должен быть всегда индексы; в то время как вторая колонка может иметь номера или строки.
В списке хэш первый столбец не обязательно индексы; он может быть составлен из чисел и /или строк; второй столбец может также быть составлен из чисел и /или строк. Разница между списком хеш и списка массива является то, что для списка массива первый столбец всегда состоит из индексов (в расчете число от нуля), но для списка хеш первый столбец могут быть числа и /или строки. Вторая колонка для списка массива или хэш может быть что угодно (числа и /или строки). Для этих двух примеров, список хеш строки для первого столбца, и список массив имеет свои безусловные индексы.
Остальная часть этой обучающей будет иметь дело с хэшей. Создание хэша синтаксис для создания хэш есть: мой% hashName = (ключ1 => значение1, ключ2 => значение2, ключ3 => значение3, ...); Вы начинаете с зарезервированным словом, моя, затем пробел. Далее вы должны символ%, за которым следует имя хэша. Имя хэша предшествует% является переменной хэш. После этого у вас есть оператор присваивания. Тогда у вас есть список хэш в скобках (скобках). Глядя на примере хеш выше, первый столбец называется клавиши; второй столбец называется значения. Вы вводите их в качестве таковых в круглых скобках.
Каждый элемент хэша в скобках начинается с ключа, с последующим => знак (т.е. знак равенства, за которым следует более знаком), то соответствующее значение. Прежде чем набрать следующий элемент, вы должны ввести запятую первым. Конечно, последний элемент не имеет запятую перед закрытием скобки. Ну, а после закрытия скобках у вас есть точка с запятой; что указывает на конец оператора ActivePerl. Если значение является строкой набирается в скобках в кавычки (одинарные или двойные). Если значение является числом, оно не набрал в кавычки. Вы можете дать имя, fruitColor к примеру фруктовым выше.
Следующий оператор создает хэш в ActivePerl: мой% fruitColor = (Apple => "фиолетовый", банан => "желтый", груша => "зеленых", лимон => "зеленый"); Обратите внимание, что в скобках ключи не в кавычках. Данное заявление может быть введен в коде аккуратно следующим образом: мой% fruitColor = (Apple => "фиолетовый", банан => "желтый", Груша => "зеленый", лимон => "зеленый"); Доступ к хэш-значения Синтаксис для доступа к хэш-значение: {'ключ'} Ты начинаешь с символа $, за которым следует имя хэш $ hashName, а затем пару фигурных скобок.
Внутри фигурных скобок, у вас есть ключ (в одинарные или двойные кавычки) соответствующей стоимости. Таким образом, чтобы получить доступ к фиолетовый строку выше, вы должны ввести: $ fruitColor {'Apple'} В этом выражении ключ должен быть в кавычках, (одинарные или двойные). Тем не менее, при создании хэш ключи не в кавычках. Это выражение возвращает соответствующее значение для ключа.
Изменение хэш-значения вы используете выше выражение для изменения значения хэш следующим: $ hashName {'ключ'} = новое; Таким образом, чтобы изменить цвет яблока в хэш от фиолетового до красного, вы должны ввести: $ fruitColor {'Яблоко'} = "красный"; Читайте и попробуйте следующий код, в котором отображается исходный цвет для яблока, а затем изменить, и повторно отображается.
использовать строгий; печать "Content-Type: текст /HTML \\ п \\ п"; мой% fruitColor = (Apple => "фиолетовый", банан => "желтый", Груша => "зеленый", лимон => "зеленый"); печать $ fruitColor {'Яблоко'}; печатать "$ fruitColor {'Яблоко'} =" красный "; печать $ fruitColor {'Apple'};. Доступ с переменной вместо кнопки можно получить доступ значение с переменной вместо ключа следующий фрагмент кода иллюстрирует это: мой $ herKey = 'Apple'; печать $ fruitColor {$ herKey}; хэш-функции Хэш имеет функции как массив имеет функции мы рассмотрим некоторые хэш-функции ниже каждой функции Синтаксис использовать каждую функцию.
. это: каждый (% HashName) Это выражение возвращает либо пару следующий ключ /значение или следующий ключ в зависимости от того, что называется контекстом список или скаляр контекст, в нашем коде ниже это пара рядом ключ /значение, которые будут возвращены.. В приведенном ниже коде я использую хэш выше четырех элементов Итак, если вы используете каждая функция в четыре раза вы будете иметь четыре пары различных ключ /значение Читайте и попробуйте следующий код: использовать строгое; печать "Content-Type..
: Текст /HTML \\ п \\ п "; мой% fruitColor = (Apple =>" фиолетовый ", банан =>" желтый ", Груша =>" зеленый ", лимон =>" зеленый "); печатать каждый (% fruitColor); Печать "Печать каждый (% fruitColor); печать" печать каждый (% fruitColor); Печать "Печать каждый (% fruitColor); печать" В моем компьютере я имел следующий вывод: Bananayellow Applepurple Lemongreen Peargreen Ну, ключ и значение для каждой пары не отделена; давайте не будем беспокоиться о том, что в настоящее время. Порядок пар ключ /значение не то же самое Порядок, в котором мы набрали их в хэш.
Просто обратите внимание, что этот порядок не может быть предопределен. Таким образом, каждая функция будет возвращать пару следующий ключ /значение при определенных условиях. Она начинается с того, что он считает, как и первый, затем, если это вызывается снова, она возвращает то, что он считает, как следующий, и так далее. Ты же ActivePerl программист не может знать порядок, в котором элементы будут возвращены. Функциональные клавиши Синтаксис функции клавиш: клавиши (% hashName) возвращает список (который может быть проведен с помощью массива) всех ключей в хэш.
Читайте и попробуйте следующий код: использовать строгий; печать "Content-Type: текст /HTML \\ п \\ п"; мой% fruitColor = (Apple => "фиолетовый", банан => "желтый", Груша => "зеленый", лимон => "зеленый"); моиarr = ключи (% fruitColor); печататьarr; Порядок возврата ключей снова не предопределено (не так, как они были введены). Значения Функция Синтаксис функции значений: значения (% hashName) Функция значения ведет себя подобным образом, к функции клавиш исключением того, что она возвращает список значений хэша, а не список из ключей.
Читайте и попробуйте следующий код: использовать строгий; печать "Content-Type: текст /HTML \\ п \\ п"; мой% fruitColor = (Apple => "фиолетовый", банан => "желтый", Груша => "зеленый", лимон =>