MATLAB - Las declaraciones de conmutador anidadas

Es posible tener un interruptor como parte de la secuencia de instrucciones de un interruptor externo. Incluso si las constantes de caso del conmutador interno y externo contienen valores comunes, no surgirán conflictos.

Sintaxis

La sintaxis de una declaración de cambio anidada es la siguiente:

switch(ch1) 
   case 'A' 
      fprintf('This A is part of outer switch');
      switch(ch2) 
         case 'A'
         fprintf('This A is part of inner switch' );
         
         case 'B'  
         fprintf('This B is part of inner switch' );
      end   
   case 'B'
      fprintf('This B is part of outer switch' );
end

Ejemplo

Cree un archivo de script y escriba el siguiente código en él:

a = 100;
b = 200;
switch(a) 
   case 100 
      fprintf('This is part of outer switch %d\n', a );
      switch(b) 
         case 200
            fprintf('This is part of inner switch %d\n', a );
      end
end

fprintf('Exact value of a is : %d\n', a );
fprintf('Exact value of b is : %d\n', b );

Cuando ejecuta el archivo, muestra:

This is part of outer switch 100
This is part of inner switch 100
Exact value of a is : 100
Exact value of b is : 200