Los operadores son funciones especiales definidas en el lenguaje de programación Verse que realizan acciones, como operaciones matemáticas, en sus operandos. Por ejemplo, en la expresión 1 + 2, el + es un operador, y 1 y 2 son operandos.
Hay tres formatos de operadores que verás en Verse:
Prefijo: solo hay un operando, y el operador está antes del operando.
Infijo: hay dos operandos, y el operador está entre los operandos.
Sufijo: solo hay un operando, y el operador está después del operando.
Esta página describe todos los operadores que puedes utilizar en Verse, cómo funcionan y su orden de evaluación cuando se utilizan en combinación con otros operadores.
Lista de todos los operadores y precedencia de los operadores
Cuando se utilizan varios operadores en la misma expresión, se evalúan en orden de mayor a menor prelación. La siguiente tabla enumera todos los operadores integrados en Verse y su precedencia.
| Nombre | Operador | Descripción | Formato del operador | prelación de operadores | Ejemplo |
|---|---|---|---|---|---|
Consulta |
| El operador | posfijo | 9 |
|
Not |
| El operador | Prefijo | 8 |
|
Positivo |
| Puedes usar el operador | Prefijo | 8 |
|
Negativo |
| Puedes usar el operador | Prefijo | 8 |
|
Multiplicación |
| El | infijo | 7 |
|
División |
| El operador | infijo | 7 |
|
Suma |
| El operador | infijo | 6 |
|
Resta |
| El operador | infijo | 6 |
|
Asignación de suma |
| Con este operador, puedes combinar la suma y la asignación en la misma operación para actualizar el valor de una variable. Consulta Matemáticas para obtener más detalles. | infijo | 5 |
|
Asignación de resta |
| Con este operador, puedes combinar la resta y la asignación en la misma operación para actualizar el valor de una variable. Consulta Matemáticas para obtener más detalles. | infijo | 5 |
|
Asignación de multiplicación |
| Con este operador, puedes combinar la multiplicación y la asignación en la misma operación para actualizar el valor de una variable. Consulta Matemáticas para obtener más detalles. | infijo | 5 |
|
Asignación de división |
| Con este operador, puedes combinar la división y la asignación en la misma operación para actualizar el valor de una variable, a menos que la variable sea un entero. Consulta Matemáticas para obtener más detalles. | infijo | 5 |
|
Es igual a |
| El operador | infijo | 4 |
|
No es igual a |
| El operador | infijo | 4 |
|
Menor que |
| El operador | infijo | 4 |
|
Menor o igual que |
| El operador | infijo | 4 |
|
Mayor que |
| El operador | infijo | 4 |
|
Mayor o igual que |
| El operador | infijo | 4 |
|
And |
| El operador | infijo | 3 |
|
Or |
| El operador | infijo | 2 |
|
Inicialización de variables y constantes |
| Con este operador, puedes almacenar valores en una constante o en una variable. Consulta Constantes y variables para obtener más información. | infijo | 1 |
|
Asignación de variable |
| Con este operador puedes actualizar los valores almacenados en una variable. Consulta Constantes y variables para obtener más información. | infijo | 1 |
|
Si hay operadores con la misma precedencia en la misma expresión, se evalúan de izquierda a derecha. Por ejemplo, en la expresión 3*2/4, ambos operadores * y / tienen la misma precedencia, por lo que 3*2 se evalúa primero y su resultado se convierte en el operando izquierdo del operador /.
Puedes cambiar el orden de evaluación de los operadores agrupando las expresiones con (). Por ejemplo, (1+2)*3 y 1+(2*3) no evalúan al mismo resultado. Consulta Agrupación para obtener más detalles.
Comparison
Puedes controlar el flujo de éxitos y errores con expresiones de comparación, que utilizan los operadores de desigualdad y de igualdad. Las expresiones de comparación son falibles, por lo que solo puedes usar operadores de comparación en contextos de fracaso, como en expresiones if.
En la tabla siguiente, se describe cada operador y los tipos que admite. Todos los operadores de comparación utilizan el formato infijo.
| Operador | Tipos integrados compatibles | Descripción |
|---|---|---|
|
| El operador |
|
| El operador |
|
| El operador |
|
| El operador |
|
| El operador |
|
| El operador |
Tanto <> como = también son compatibles con las instancias de matriz, mapa, tupla y clase, pero con restricciones. Las instancias de matriz, mapa y tupla solo pueden contener tipos admitidos, y las instancias de clase solo se admiten si contienen, al menos, un miembro var.
Decisión
Puedes controlar el flujo de éxito y fracaso con expresiones de decisión, que usan los operadores not, and y or. Las expresiones de decisión son falibles, por lo que solo puedes usar operadores de comparación en contextos de fracaso, como en expresiones if. Puedes utilizar cualquier expresión que tenga éxito o no con operadores de decisión.
Operador Not
El operador de decisión not niega el éxito o el fracaso de una expresión. El operador not utiliza el formato de prefijo.
Por ejemplo, si la expresión falla, la expresión not tendrá éxito. Si la expresión tiene éxito, la expresión not fallará, y los efectos de expresión nunca se materializarán (como si la expresión nunca hubiese existido).
Por ejemplo, después de ejecutar el siguiente código, Ejemplo seguirá teniendo el valor inicial 0:
var Example : int = 0
if (not (set Example = ExampleArray[0])) { … }Puedes utilizar la expresión not not como una forma de comprobar si una expresión tendrá éxito, pero haciendo que la expresión nunca tenga lugar.
| Resultado de la expresión p | Resultado de la expresión not p | Resultado de la expresión not not p |
|---|---|---|
Tiene éxito, y el resultado es | La expresión fracasa, y los efectos de | La expresión tiene éxito, pero los efectos de |
Fracasa, y el resultado es ningún valor | La expresión tiene éxito. El resultado de la expresión es | La expresión fracasa. El resultado de la expresión es ningún valor. |
Referencia del operador not que evalúa una expresión, representada por p.
Operadores And/Or
El operador de decisión y usa el formato infijo y es una expresión falible que tiene éxito si ambos operandos tienen éxito, o falla si al menos un operando falla.
El operador de decisión or usa el formato de infijo y es lo siguiente:
Un contexto de fracaso para el primer operando.
Una expresión falible solo si el segundo operando es falible.
El operador or omite la evaluación del segundo operando si el primer operando tiene éxito.
La siguiente tabla describe los resultados de todas las combinaciones de operandos de éxito y fracaso de expresiones de decisión con los operadores and y or.
| Resultado de la expresión p | Resultado de la expresión q | Resultado de la expresión p y q | Resultado de la expresión p o q |
|---|---|---|---|
Tiene éxito, y el resultado es | Tiene éxito, y el resultado es | La expresión tiene éxito, por lo que los efectos de | La expresión tiene éxito, y solo los efectos de |
Tiene éxito, y el resultado es | Fracasa, y el resultado es ningún valor | La expresión falla, y los efectos de | La expresión tiene éxito, y solo los efectos de |
Fracasa, y el resultado es ningún valor | Tiene éxito, y el resultado es | La expresión falla, y los efectos de | La expresión tiene éxito, y solo los efectos de |
Fracasa, y el resultado es ningún valor | Fracasa, y el resultado es ningún valor | La expresión falla, y los efectos de | La expresión falla, y los efectos de |
Referencia de los operadores and y or que evalúan expresiones, representadas por p y q.
Math
Con las expresiones matemáticas, puedes realizar las cuatro operaciones matemáticas básicas (suma, resta, multiplicación y división) con valores numéricos, y sumar cadenas. Todos los operadores utilizan el formato infijo, excepto + y - que también pueden ser un prefijo para valores numéricos.
También hay operadores de asignación, por ejemplo, set X += 10. Son casi lo mismo que hacer la operación y, luego, asignar el resultado, set X = X + 10, la diferencia es que la X en este caso solo se evalúa una vez. El resultado de un operador de asignación es el valor utilizado para actualizar la variable.
En la tabla siguiente se describe cada operador y los tipos que admite.
| Operador | Tipos integrados compatibles | Descripción |
|---|---|---|
|
| El operador |
|
| El operador |
|
| El |
|
| El operador |
|
| Con este operador, puedes combinar la suma y la asignación en la misma operación para actualizar el valor de una variable. |
|
| Con este operador, puedes combinar la resta y la asignación en la misma operación para actualizar el valor de una variable. |
|
| Con este operador, puedes combinar la multiplicación y la asignación en la misma operación para actualizar el valor de una variable. |
|
| Con este operador, puedes combinar la división y la asignación en la misma operación para actualizar el valor de una variable, a menos que la variable sea un entero. Para obtener más detalles sobre la división de enteros, consulta int. |
Consulta
Las expresiones de consulta utilizan el operador ? (consulta) y comprueban si un valor logic es true. En caso contrario, la expresión falla. El operador ? (consulta) utiliza el formato de posfijo.
| Resultado de la expresión p | Resultado de la expresión p? |
|---|---|
| Tiene éxito, y el resultado es |
| Fracasa, y el resultado es ningún valor. |
Referencia para el operador ? (consulta) que evalúa expresiones, representado por p.
Por ejemplo:
if (IsMorning?):
Say("Good Morning!")