Una expresión es la unidad de código más pequeña que tiene un resultado al evaluarse. En Verse, todo es una expresión, lo que significa que todo se evalúa a un valor.
Un ejemplo es una expresión if… else (expresión), que en Verse se evalúa como un valor que depende del contenido de
los bloques de expresión. El siguiente código se evalúa como un valor de cadena que contiene “Big!” o “Small!”, según si MyNumber era mayor que 5:
if (MyNumber > 5):
“Big!”
else
“Small!”Esto significa que puedes usar if… else directamente como entrada a las funciones en lugar de almacenar un resultado y utilizar ese resultado como entrada.
Aunque este ejemplo es simple, hay contextos en los que esto se vuelve más poderoso. Por ejemplo, los bucles evalúan matrices de valores, por lo que puedes crear rápidamente nuevas matrices basadas en las existentes.
En el siguiente código, MyArray contendrá todos los valores de NumberArray menores que 5.
MyArray : []int = for(Number := NumberArray, Number < 5):
NumberExpresiones falibles
Una expresión falible es una expresión que podrá ejecutarse correctamente y producir un valor, o bien tener errores y no devolver valor alguno. Las expresiones falibles solo pueden ejecutarse en un contexto de fallo porque ese contexto definirá lo que ocurre en el evento en el que falle la expresión.
Los ejemplos de las expresiones falibles incluyen la indexación en una matriz porque un índice no válido fallará, y el uso de operadores, como la comparación de dos valores. Para conocer más de las expresiones falibles en Verse, consulta Fallo.
Lista de expresiones en Verse
La siguiente tabla describe los diferentes tipos de expresiones en Verse. Sigue los enlaces para saber más sobre cada expresión.
| Expresión | Descripción | ¿La expresión es falible? |
|---|---|---|
Literales | Un literal es un valor fijo en el código, como un número o un carácter. En Verse, hay literales para los siguientes tipos:
| |
Llamadas a función | Una llamada a la función es una expresión y puede tener dos formas: | Solo cuando la llamada a la función tiene la forma |
Comparison | Una expresión de comparación compara dos cosas con alguno de los operadores de comparación:
Para obtener más información, consulta Operadores. | Sí |
Asignación | Una expresión de asignación guarda un valor en una ubicación mutable, como cuando se inicializa una constante o se cambia el valor de una variable. Consulta Variables y constantes para obtener más detalles. | |
Math | Una expresión matemática realiza cálculos utilizando los operadores:
Todos estos operadores tienen también variantes de asignación que pueden utilizarse con punteros. Para obtener más información, consulta Operadores. | Solo se usa para realizar la división de enteros. |
Decisión | Una expresión de decisión utiliza los operadores | Sí |
Consulta | Una expresión de consulta utiliza el operador | Sí |
Instanciación de clase y struct | La creación de una instancia de una | |
flujo de control | El flujo de control es el orden en que una computadora ejecuta instrucciones. Puedes utilizar expresiones, como
Consulta Flujo de control para obtener más detalles. | |
Array | Una matriz es un contenedor donde puedes almacenar elementos del mismo tipo. Los elementos de una matriz están en el orden en que los insertas en la matriz y puedes acceder a ellos por su posición en la matriz, denominado su índice. Para obtener más información, consulta Matriz. | Solo cuando se indexa en una matriz. |
tupla | Una tupla es un contenedor donde se pueden almacenar elementos de uno o más tipos. Los elementos de una tupla están en el orden en que los insertas en la tupla y puedes acceder a dichos elementos mediante su posición en la tupla; esto se denomina índice. Para obtener más información, consulta Tupla. | |
Mapa | Un mapa es un contenedor donde puedes almacenar valores asociados con otro valor, llamados pares clave-valor. Los pares clave-valor pueden ser cualquier combinación de tipos siempre que el tipo de clave sea comparable. Los elementos de un mapa están en el orden en el que se insertan los pares clave-valor en el mapa; puedes acceder a los elementos con sus claves únicas. Para obtener más información, consulta Mapa. | |
Opción | Una opción es un contenedor que puede tener un valor de un tipo o ningún valor. Para obtener más información, consulta Opción. | |
Alcance | Las expresiones de rango contienen todos los números entre los dos valores especificados, incluidos estos, separados por |