MATLAB - L'istruzione switch
Un blocco switch esegue in modo condizionale un insieme di istruzioni da diverse scelte. Ogni scelta è coperta da una dichiarazione del caso.
Un'espressione switch_expression valutata è uno scalare o una stringa.
Un case_expression valutato è uno scalare, una stringa o un array di celle di scalari o stringhe.
Il blocco interruttore verifica ogni caso fino a quando uno dei casi non è vero. Un caso è vero quando:
Per i numeri, eq(case_expression,switch_expression).
Per archi, strcmp(case_expression,switch_expression).
Per gli oggetti che supportano il eq(case_expression,switch_expression).
Per una matrice di celle case_expression, almeno uno degli elementi della matrice di celle corrisponde a switch_expression, come definito sopra per numeri, stringhe e oggetti.
Quando un caso è vero, MATLAB esegue le istruzioni corrispondenti e quindi esce dal blocco switch.
Il otherwise block è opzionale e viene eseguito solo quando nessun caso è vero.
Sintassi
La sintassi dell'istruzione switch in MATLAB è:
switch <switch_expression>
case <case_expression>
<statements>
case <case_expression>
<statements>
...
...
otherwise
<statements>
end
Esempio
Crea un file di script e digita il seguente codice al suo interno:
grade = 'B';
switch(grade)
case 'A'
fprintf('Excellent!\n' );
case 'B'
fprintf('Well done\n' );
case 'C'
fprintf('Well done\n' );
case 'D'
fprintf('You passed\n' );
case 'F'
fprintf('Better try again\n' );
otherwise
fprintf('Invalid grade\n' );
end
Quando esegui il file, viene visualizzato:
Well done