Curso de Raku / Avanzado / Operadores

Repaso del comportamiento de operadores

Cuando una expresión contiene varios operadores, Raku tiene que decidir en qué orden aplicarlos. Dos reglas gobiernan esto: la precedencia y la asociatividad.

Precedencia

La precedencia decide qué operador se vincula con más fuerza. La multiplicación tiene mayor precedencia que la suma, por lo que se ejecuta primero:

say 2 + 3 * 4; # 14

La expresión se lee como 2 + (3 * 4), dando 14 en lugar de 20. Siempre puedes usar paréntesis para forzar un orden diferente:

say (2 + 3) * 4; # 20

Asociatividad

La asociatividad decide el orden entre operadores de la misma precedencia. La resta es asociativa por la izquierda, así que se agrupa desde la izquierda:

say 8 - 3 - 2; # 3

Esto es (8 - 3) - 2, que es 3. La exponenciación, por otro lado, es asociativa por la derecha:

say 2 ** 3 ** 2; # 512

Aquí la expresión se agrupa como 2 ** (3 ** 2), es decir 2 ** 9, que es 512.

Comparaciones encadenadas

Los operadores de comparación pueden encadenarse, lo que se lee de forma natural y hace lo que esperas desde las matemáticas:

say 1 < 2 < 3; # True
say 1 < 5 < 3; # False

El valor del medio se compara con ambos vecinos: 1 < 2 < 3 es verdadero porque tanto 1 < 2 como 2 < 3 son verdaderos.

Práctica

Resuelve 1 cuestionario sobre el contenido de este tema.

Ejercicios

Esta sección contiene 3 ejercicios. Mira todos los temas de esta sección antes de empezar los ejercicios.

  1. Forzar el orden
  2. Torre de potencias
  3. Comparación encadenada

Quiz — Un operador de palabra   |   Forzar el orden