Pascal - Istruzione Nested Case
È possibile avere un file case statement come parte della sequenza di istruzioni di un file outer case statement. Anche se ilcase constants del caso interno ed esterno contengono valori comuni, non sorgeranno conflitti.
Sintassi
La sintassi per un'istruzione case annidata è la seguente:
case (ch1) of
'A': begin
writeln('This A is part of outer case' );
case(ch2) of
'A': writeln('This A is part of inner case' );
'B': (* case code *)
...
end; {end of inner case}
end; (* end of case 'A' of outer statement *)
'B': (* case code *)
'C': (* case code *)
...
end; {end of outer case}
Esempio
Il seguente programma illustra il concetto.
program checknestedCase;
var
a, b: integer;
begin
a := 100;
b := 200;
case (a) of
100: begin
writeln('This is part of outer statement' );
case (b) of
200: writeln('This is part of inner statement' );
end;
end;
end;
writeln('Exact value of a is : ', a );
writeln('Exact value of b is : ', b );
end.
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
This is part of outer switch
This is part of inner switch
Exact value of a is: 100
Exact value of b is: 200