Raku kurss / Padziļināti / Vairāk par iebūvētajiem tipiem / Kopas, somas un maisījumi

Kopu operācijas

Kopas var apvienot ar ierastajām kopu teorijas operācijām. Katram operatoram ir Unikoda simbols un ASCII pieraksts; varat lietot to, kurš labāk patīk.

Apvienojums (vai (|)) savāc visas vērtības, kas ir kaut vienā no kopām:

say (set(1, 2, 3) ∪ set(3, 4, 5)).elems; # 5

Abām kopām ir kopīga vērtība 3, tāpēc apvienojumā ir pieci atšķirīgi elementi: 1, 2, 3, 4, 5.

Šķēlums (vai (&)) patur tikai tās vērtības, kas ir abās kopās:

my $common = set(1, 2, 3) ∩ set(2, 3, 4);
say $common;       # Set(2 3) — note that sets are unordered
say $common.elems; # 2
say 2$common;   # True

Šeit šķēlumā ir 2 un 3 — vērtības, kas klāt abās kopās. Kopai nav iedzimtas secības, tāpēc izdrukājot abi elementi var parādīties jebkurā kārtībā.

Šo operāciju rezultāts pats ir kopa, tāpēc tai var uzdot tos pašus jautājumus: cik tai ir elementu un vai tai pieder konkrēta vērtība.

Prakse

Jūs gaida 1 viktorīna par šī temata saturu.

Kursa navigācija

Kopas, somas un maisījumi   |   Viktorīna — Kopas


💪 Vai arī dodieties tieši uz šīs sadaļas vingrinājumiem.