Elisir - Dichiarazione del caso
L'istruzione Case può essere considerata come una sostituzione dell'istruzione switch nelle lingue imperative. Case prende una variabile / letterale e applica la corrispondenza del modello ad essa con casi diversi. Se un caso corrisponde, Elixir esegue il codice associato a quel caso ed esce dall'istruzione case. Se non viene trovata alcuna corrispondenza, esce dall'istruzione con un CaseClauseError visualizzatono matching clauses were found. Dovresti sempre avere un caso con _ che corrisponde a tutti i valori. Questo aiuta a prevenire l'errore di cui sopra. Anche questo è paragonabile aldefault case nelle istruzioni switch-case.
Sintassi
La sintassi di un'istruzione if è la seguente:
case value do
matcher_1 -> #code to execute if value matches matcher_1
matcher_2 -> #code to execute if value matches matcher_2
matcher_3 -> #code to execute if value matches matcher_3
...
_ -> #code to execute if value does not match any of the above
end
Esempio
case 3 do
1 -> IO.puts("Hi, I'm one")
2 -> IO.puts("Hi, I'm two")
3 -> IO.puts("Hi, I'm three")
_ -> IO.puts("Oops, you dont match!")
end
Il programma di cui sopra genera il seguente risultato.
Hi, I'm three
Si noti che la selezione del caso viene eseguita utilizzando la corrispondenza del modello, quindi è possibile utilizzare le tecniche di corrispondenza del modello standard.