Tcl - Istruzione Switch annidata

È possibile avere un file switchcome parte della sequenza di istruzioni di un interruttore esterno. Anche se le costanti maiuscole e minuscole dello switch interno ed esterno contengono valori comuni, non sorgeranno conflitti.

Sintassi

La sintassi per a nested switch l'affermazione è la seguente:

switch switchingString {
   matchString1 {
      body1
      switch switchingString {
         matchString1 {
            body1
         }
         matchString2 {
            body2
         }
         ...
         matchStringn {
            bodyn
         }
      }
   }
   matchString2 {
      body2
   }
...
   matchStringn {
      bodyn
   }
}

Esempio

#!/usr/bin/tclsh

set a 100
set b 200

switch $a {
   100 {
      puts "This is part of outer switch"
      switch $b {
         200 {
            puts "This is part of inner switch!"
         }
      }
   }   
}
puts "Exact value of a is : $a"
puts "Exact value of a is : $b"

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 a is : 200