Курс по Raku / Напреднали / Повече за вградените типове
Множества, торби и смеси
Освен масиви и хешове, Raku предлага няколко специализирани
контейнера за колекции от стойности. Най-простият е Set —
неподредена колекция от различни стойности, където всяка
стойност или е член, или не е, а дубликатите се игнорират.
Създавате множество с подпрограмата set. Повтарящите се
стойности се свиват до една:
my $s = set(1, 2, 3, 2, 1);
say $s.elems; # 3Въпреки че бяха подадени пет числа, множеството има само три
елемента, защото 1 и 2 се появяват повече от
веднъж.
Основният въпрос, който задавате на множеството, е дали дадена
стойност принадлежи към него. Операторът ∈ (чете се като „е
елемент на”) връща булева стойност:
say 2 ∈ set(1, 2, 3); # True
say 9 ∈ set(1, 2, 3); # FalseАко предпочитате да използвате само ASCII, същият оператор може да се
запише като (elem):
say 2 (elem) set(1, 2, 3); # TrueСледващите теми показват как да комбинирате множества и представят торбите и смесите, които са близки роднини на множеството.
Теми в този раздел
Практика
Направете 1 тест върху съдържанието на този раздел.
Упражнения
Този раздел съдържа 3 упражнения. Разгледайте всички теми в раздела, преди да се захванете с практиката.