Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación concurrente / Junctions
Construir junctions
La manera más sencilla de construir una unión es con los operadores
de unión. El operador | crea una unión any:
my $j = 1 | 2 | 3;
say $j; # any(1, 2, 3)El valor $j representa «1 o 2 o 3». Hay cuatro clases de
unión, cada una con un operador y una función correspondiente:
any( … )oa | b— verdadera si coincide cualquier valorall( … )oa & b— verdadera si coinciden todos los valoresone( … )oa ^ b— verdadera si coincide exactamente un valornone( … )— verdadera si no coincide ningún valor (es la única clase sin forma de operador: usa la función)
Las formas de función resultan cómodas con una lista:
say all(3, 7, 2); # all(3, 7, 2)
say none(1, 2, 3); # none(1, 2, 3)Una unión es más útil dentro de una comparación. Preguntar si un número es igual a una unión any lo compara con todos los valores a la vez:
say so 2 == any(1, 2, 3); # True
say so 5 == any(1, 2, 3); # FalseLa forma de operador se lee igual de bien: 1 | 2 | 3 es
exactamente la misma unión any:
say so 2 == 1 | 2 | 3; # True
say so 5 == 1 | 2 | 3; # FalseEl so convierte el resultado de la unión en un booleano
corriente. El tema siguiente examina lo que ocurre entre bastidores
cuando haces esto.
Práctica
Resuelve 1 cuestionario sobre el contenido de este tema.
Navegación del curso
← Junctions | Quiz — Junctions →
💪 O ve directamente a los ejercicios de esta
sección.