Un'espressione è la più piccola unità di codice che genera un risultato quando viene valutata. In Verse, tutto è un'espressione, il che significa che tutto valuta in base a un valore.
Un esempio è un'espressione if ... l'espressione else, che in Verse valuta in base a un valore che dipende dal contenuto
dei blocchi di espressione. Il codice seguente valuta in base a un valore di stringa, contenente "Grande!" o "Piccolo!" a seconda che MyNumber fosse maggiore di 5:
if (MyNumber > 5):
“Big!”
else
“Small!”Ciò significa che puoi utilizzare un'opzione if... else direttamente come input per le funzioni invece di memorizzare un risultato e utilizzarlo come input.
Sebbene questo esempio sia semplice, ci sono contesti in cui diventa più efficace. Ad esempio, i loop valutano in base ad array di valori, quindi puoi creare rapidamente nuovi array basati su quelli esistenti.
Nel codice seguente, MyArray conterrà tutti i valori di NumberArray che sono inferiori a 5.
MyArray : []int = for(Number := NumberArray, Number < 5):
NumberEspressioni fallibili
Un'espressione fallibile è un'espressione che può riuscire e generare un valore, oppure dare esito negativo e non restituire alcun valore. Le espressioni fallibili possono essere eseguite solo in un contesto di errore perché quel contesto definirà cosa succede nel caso in cui l'espressione abbia esito negativo.
Esempi di espressioni fallibili includono l'indicizzazione in un array, perché un indice non valido avrà esito negativo, e l'utilizzo di operatori come il confronto di due valori. Per ulteriori informazioni sulle espressioni fallibili in Verse, vedi Fallimento.
Elenco delle espressioni in Verse
La tabella seguente descrive i diversi tipi di espressioni in Verse. Segui i link per saperne di più su ciascuna espressione.
| Espressione | Descrizione | L'espressione è fallibile? |
|---|---|---|
Valori letterali | Un valore letterale è un valore fisso nel codice, come un numero o un carattere. In Verse, ci sono valori letterali per i seguenti tipi:
| |
Chiamate di funzione | Una chiamata di funzione è un'espressione e può avere due forme: | Solo quando la chiamata di funzione ha il formato |
Confronto | Un'espressione di confronto confronta due elementi utilizzando uno degli operatori di confronto:
Per maggiori dettagli, consulta Operatori. | Sì |
Assegnazione | Un'espressione di assegnazione memorizza un valore in una posizione modificabile, ad esempio durante l'inizializzazione di una costante o la modifica del valore di una variabile. Per maggiori dettagli, consulta Variabili e costanti. | |
Matematica | Un'espressione matematica esegue calcoli utilizzando gli operatori:
Tutti questi operatori hanno anche varianti di assegnazione utilizzabili con i puntatori. Per maggiori dettagli, consulta Operatori. | Solo per la divisione di interi. |
Decisione | Un'espressione decisionale utilizza gli operatori | Sì |
Query | Un'espressione di query utilizza l'operatore | Sì |
Istanziazione di classe e struttura | La creazione di un'istanza di una | |
flusso di controllo | Il flusso di controllo è l'ordine in cui un computer esegue le istruzioni. Puoi utilizzare espressioni come
Per maggiori dettagli, consulta Flusso di controllo. | |
Array | Un array è un contenitore in cui è possibile memorizzare elementi dello stesso tipo. Gli elementi di un array seguono l'ordine in cui sono stati inseriti e puoi accedervi in base alla loro posizione nell'array, detta indice. Per maggiori informazioni, vedi Array. | Solo durante l'indicizzazione in un array. |
tupla | Una tupla è un contenitore in cui puoi memorizzare elementi di uno o più tipi. La posizione degli elementi di una tupla corrisponde all'ordine in cui sono stati inseriti ed è per mezzo di essa, detta indice, che è possibile accedere a ciascun elemento. Per maggiori informazioni, vedi Tupla. | |
Mappa | Una mappa è un contenitore in cui puoi memorizzare valori associati ad altri valori, chiamati coppie chiave-valore. Le coppie chiave-valore possono essere qualsiasi combinazione di tipi purché il tipo di chiave sia comparabile. L'ordine degli elementi in una mappa corrisponde alla sequenza di inserimento delle coppie chiave-valore in essa ed è possibile accedervi tramite le relative chiavi univoche. Per maggiori informazioni, vedi Mappa. | |
Opzione | Un'opzione è un contenitore che può avere uno o nessun valore di un tipo. Per maggiori informazioni, vedi Opzione. | |
Portata | Le espressioni di intervallo contengono tutti i numeri compresi tra i due valori specificati, inclusi e separati da |