Глава 5: Хеши.
5.5 Срезы хешей
Как и в случае с переменной-массивом (или списочным литералом), можно воспользоваться срезом хеша, что даст возможность обращаться не к одному его элементу, а одновременно к набору элементов. Возьмем, к примеру, результаты игры в кегли:
$score("fred") = 205;
$score("barney") = 195;
$score("dino") = 30;
Все это можно записать одной строкой:
($score("fred"),$score("barney"),$score("dino")) = (205,195,30);
Но даже она слишком длинна, поэтому давайте используем срез хеша:
$score{"fred","barney","dino"} = (205,195,30);
Вот так гораздо короче. Можно сочетать использование среза хеша и интерполяции переменных:
@players = qw(fred barney dino);
print "scores are: @score(@players)\n";
Срезы хешей можно также использовать для слияния небольшого хеша с более крупным. В этом примере меньший хеш имеет приоритет в том смысле, что при наличии ключей-дубликатов используется значение из меньшего хеша:
@league(keys %score) = values %score;
Здесь значения хеша %score сливаются с хешем %league. Это эквивалентно выполнению гораздо более медленной операции:
%league = (%league, %score); # слить %score с %league
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|