Curso de Raku / Avanzado / Más sobre los tipos integrados
Conjuntos, bolsas y mezclas
Además de los arrays y los hashes, Raku ofrece algunos contenedores
especializados para colecciones de valores. El más simple es el
Set — una colección desordenada de valores
distintos, donde cada valor es miembro o no lo es, y los
duplicados se ignoran.
Puedes crear un set con la rutina set. Los valores
repetidos se reducen a uno solo:
my $s = set(1, 2, 3, 2, 1);
say $s.elems; # 3Aunque se pasaron cinco números, el set tiene solo tres elementos,
porque 1 y 2 aparecieron más de una vez.
La pregunta principal que le haces a un set es si un valor pertenece
a él. El operador ∈ (que se lee “es un elemento de”)
devuelve un Booleano:
say 2 ∈ set(1, 2, 3); # True
say 9 ∈ set(1, 2, 3); # FalseSi prefieres quedarte con ASCII simple, el mismo operador se puede
escribir como (elem):
say 2 (elem) set(1, 2, 3); # TrueLos siguientes temas muestran cómo combinar sets, e introducen los bags y los mixes, que son parientes cercanos del set.
Temas de esta sección
Práctica
Resuelve 1 cuestionario sobre el contenido de esta sección.
Ejercicios
Esta sección contiene 3 ejercicios. Mira todos los temas de esta sección antes de empezar los ejercicios.