Saltar al contenido principal

Operador

Introducción

El lenguaje Wave ofrece una variedad de operadores que permiten realizar cálculos entre variables, evaluaciones lógicas, comparaciones, y operaciones de bits.

Este documento explica los principales operadores disponibles en Wave, organizados por categoría, y proporciona el funcionamiento de cada uno junto con ejemplos.

Los operadores se clasifican en las siguientes categorías:

  • Operadores aritméticos
  • Operadores de comparación
  • Operadores lógicos
  • Operadores de bits
  • Operadores de asignación
  • Otros operadores especiales

Operadores aritméticos

Los operadores aritméticos realizan operaciones matemáticas básicas sobre datos numéricos.

OperadorDescripciónEjemplo (a = 10, b = 3)
+Adicióna + b13
-Sustraccióna - b7
*Multiplicacióna * b30
/Divisióna / b3 (división entera)
%Operación de móduloa % b1

Operadores de comparación

Los operadores de comparación devuelven un valor bool como resultado de comparar dos valores.

OperadorDescripciónEjemplo (a = 10, b = 3)
==Iguala == bfalso
!=Distintoa != bverdadero
<Menora < bfalso
>Mayora > bverdadero
<=Menor o iguala <= 10verdadero
>=Mayor o iguala >= bverdadero

Operadores lógicos

Los operadores lógicos procesan combinaciones de verdadero/falso para valores bool.

OperadorNombreDescripciónEjemplo
&&Lógico ANDSolo true cuando ambos valores son truetrue && falsefalso
\`\Lógico ORSi uno de los dos es true, entonces es true\`true \
!Lógico NOTInvierte true a falso y falso a true!truefalso

Operadores de bits

Los operadores de bits manipulan datos enteros a nivel de bits.

OperadorNombreDescripciónEjemplo
&Bit ANDSolo 1 cuando ambos bits son 1a & b2
\`\Bit OR1 si uno de los bits es 1b7\`
^Bit XOR1 cuando los bits son diferentesa ^ b5
~NOT de bitInvertir bits~a-7
<<Shift a la izquierdaMover bits a la izquierdaa << 112
>>Shift a la derechaMover bits a la derechaa >> 13

Operadores de asignación

Se utiliza para almacenar un valor en una variable. En la mayoría de los casos, se puede combinar con operadores aritméticos para abreviar.

OperadorDescripciónEjemplo (a = 5)
=Asignación básicaa = 10
+=Asignación después de la sumaa += 27
-=Asignación después de la restaa -= 14
*=Asignación después de la multiplicacióna *= 315
/=Asignación después de la divisióna /= 51
%=Asignación después del móduloa %= 41

Otros operadores especiales

Wave también ofrece operadores con significados únicos o especiales como los siguientes.

OperadorNombreDescripciónEjemplo
??Operador de fusión nulaUsa el valor de la derecha si el de la izquierda es nuloa ?? bsi a es nulo, entonces b
?:Operador condicional (operador ternario)Selecciona un valor basado en una condicióncondición ? valor si verdadero : valor si falso
inVerifica la inclusiónVerifica si un valor está incluido en una colección"a" en lista
isOperador de comparación de tiposVerifica el tipo de un valorx es i32
!&NANDOperación lógica NANDOperación lógica avanzada
\`!\NOROperación lógica NOROperación lógica avanzada
~^XNOROperación lógica XNOROperación lógica avanzada

Resumen

Wave ofrece una variedad de operadores desde operaciones matemáticas hasta evaluación lógica, manipulación de bits y división de condiciones. Estos operadores interactúan con variables o forman condiciones y son herramientas indispensables para cálculos complejos o control de flujo.

La prioridad y la dirección de combinación de cada operador se podrán tratar en la sección "Prioridad y orden de evaluación" posteriormente.