Ceylon project
switch      

Questa istruzione di selezione non è dissimile da altre che troviamo negli altri linguaggi più comuni. La sintassi è abbastanza semplice, quindi:

switch (espressione)
case (espressione-1)
blocco-1
case (espressione-2)
blocco-2
........
case (espressione-n)
blocco-n
else
blocco-alternativo

I blocchi devono sempre essere rachiusi all'interno di una parentesi graffa. La clausola finale else funge da rastrello per tutte le possibilità che non sono state esaminate nei vari branch precedenti. Affinchè uno switch funzioni è necessario che siano considerati tutti i possibili valori che l'espressione che si accompagna a switch stesso può assumere. Diversamente il compilatore emette un errore. Come si vede non è necessario mettere istruzioni di terminazione (tipo il break che è necessario mettere in C# o C++) in quanto non è possibile avere il fall-trough, cioè, in pratica, l'esecuzione di più case consecutivi. Di seguito vediamo un semplice esempio di base:

void main()
{
print("Inserisci un numero (1 o 2 o 3): ");
String s1 = process.readLine();
Integer? x = parseInteger(s1);
switch(x)
case(1) {
print("Hai inserito il numero 1");
}
case(2) {
print("Hai inserito il numero 2");
}
case(3) {
print("Hai inserito il numero 3");
}
else
{
print("ma che cappero di numero hai inserito?");
}
}