Хеши

Инициализация ассоциативного массива осуществляется следующими спосо¬бами:
• поэлементно:
$Mass{"Один"} = 1;
$Mass{"Два"} = 2;
$Mass{"Три"} = 3;
print $Mass{"Один"}; # Выведет число 1
ОБРАТИТЕ ВНИМАНИЕ
Вместо квадратных скобок в ассоциативных массивах используются фигурные скобки.
• указав все элементы массива сразу:
%Mass = ("Один", 1, "Два", 2, "Три", 3); print $Mass{"Два"}; # Выведет число 2
ОБРАТИТЕ ВНИМАНИЕ
В этом случае мы указываем символ %, а не $ или @.
• с помощью операции =>. Это позволяет сделать процесс более наглядным:
%Mass = ("Один" => 1, "Два" => 2, "Три" => 3); print $Mass{"Два"}; # Выведет число 2
Доступ к элементу ассоциативного массива осуществляется путем указания ключа в фигурных скобках:
print $Mass{"Два"};
С помощью функции each () можно присвоить значения пары ключ-значение некоторым скалярным переменным:
%Mass = ("Один" => 1);
($кеу, $value) = each(%Mass); print "$кеу => $value"; # Выведет Один => 1
ЦИКЛ while позволяет вывести все пары ключ-значение:
%Mass = ("Один" => 1, "Два" => 2, "Три" => 3) ; while (($key, $value) = each(%Mass)) { print "$key => $value ";
} # Выведет Два => 2 Три => 3 Один => 1
Функция keys о возвращает список всех ключей в хеше:
%Mass = ("Один" => 1, "Два" => 2, "Три" => 3);
@Mass2 = keys(%Mass);
print @Mass2; # Выведет ДваТриОдин
Если указать функцию keys () в цикле foreach, то можно перебрать все эле¬менты хеша:
%Mass = ("Один" => 1, "Два" => 2, "Три" => 3); foreach $var (keys(%Mass)) { print "$var => $Mass{$var}
} # Выведет Два => 2 Три => 3 Один => 1
Вместо цикла foreach можно применить цикл while в сочетании с функцией
pop():
%Mass = ("Один" => 1, "Два" => 2, "Три" => 3);
@Mass2 = keys(%Mass); while ($var = pop(@Mass2)) { print "$var => $Mass{$var}
} # Выведет Один => 1 Три => 3 Два => 2
Функция values о возвращает список всех значений в хеше:
%Mass = ("Один" => 1, "Два" => 2, "Три" => 3);
@Mass2 = values(%Mass); print @Mass2; # Выведет 231
Функция delete о позволяет удалить элемент из хеша:
%Mass = ("Один" => 1, "Два" => 2, "Три" => 3);
delete($Mass{1 Один1});
print %Mass; # Выведет Два2ТриЗ


Страница: 1 | 2


Web сайты на Perl и MySql