Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Istruzioni case
Le istruzioni case possono essere usate per l'esecuzione con diramazioni, come un'istruzione switch.
Sintassi:
CASEvWHENt[1]THENr[1]WHENt[2]THENr[2]... WHENt[n]THENr[n]ELSEr[e]END
L'espressione viene valutata e confrontata per verificare la corrispondenza con il valore v di ogni espressione t[i]WHEN. Se viene trovata una corrispondenza, la clausola diventa il risultato dell'istruzione r[i]CASE. Le clausole WHEN vengono valutate in ordine, cosicché, in caso di più di una clausola di corrispondenza, il risultato della prima clausola di corrispondenza diventi il risultato dell'istruzione CASE. Se non ci sono corrispondenze, il risultato è il della clausola r[e]ELSE. Se non c'è corrispondenza e nessuna clausola ELSE, il risultato è Undefined.
Le istruzioni CASE richiedono almeno una clausola WHEN. Una clausola ELSE è facoltativa.
Ad esempio:
Payload in ingresso pubblicato nell'argomento topic/subtopic:
{ "color":"yellow" }
Istruzione SQL:
SELECT CASE color WHEN 'green' THEN 'go' WHEN 'yellow' THEN 'caution' WHEN 'red' THEN 'stop' ELSE 'you are not at a stop light' END as instructions FROM 'topic/subtopic'
Il payload in uscita risultante sarebbe:
{ "instructions":"caution" }
Nota
Se è vUndefined, il risultato dell'istruzione del caso è Undefined.