Курс по Raku / Основи / Повече за типовете / Асоциативни типове данни

Хешове

Хеш е друг пример за асоциативни типове данни в Raku. Това е агрегатен тип данни, който свързва имената на своите елементи със стойностите им. Нека въведем новия сигил, който хеш променливите използват: %.

my %capitals;

Сега можете да използвате хеша и да му присвоите начални стойности.

%capitals = France => 'Paris', Italy => 'Rome';

Както при другите типове данни, и двете действия могат да се извършат заедно:

my %capitals = France => 'Paris', Italy => 'Rome';

Достъп до елементите

Достъпът до елементите е подобен на това, което видяхме при двойките. Използвайте чифт ъглови скоби или къдрави скоби с низ:

say %capitals<France>;
say %capitals{'Italy'};

Хешовете са променливи, така че можете както да променяте съществуващите стойности, така и да добавяте нови:

%capitals<Germany> = 'Berlin';

Ключове и стойности

Двата вградени метода, keys и values, връщат списъците с ключовете и стойностите на хеша:

say %capitals.keys;
say %capitals.values;

Ето пример за изхода на тази програма:

(Germany Italy France)
(Berlin Rome Paris)

Обърнете внимание, че елементите на хеша не са подредени, но редът на ключовете и стойностите, върнати от горните методи, е идентичен.

Практика

Направете 2 теста върху съдържанието на тази тема.

Навигация в курса

Тест — Двойки   |   Тест 1 — Хешове


💪 Или преминете направо към упражненията в този раздел.