[NAME] ALL.dao.control.switch-case [TITLE] Switch-Case控制 [DESCRIPTION] Switch-case控制可以根据一个表达式多个可能的值选择不同的代码块进行执行。 它提供了一种方便的 分支执行方式。 0.1 Definition 1 SwitchCaseStmt ::= 'switch' '(' Expression ')' '{' 2 { 'case' Expression [ ( ',' | '...' ) Expression ] ':' ControlBlock } 3 [ 'default' ':' ControlBlock ] 4 '}' Switch-case的基本用法如下: 1 switch( expresssion ){ 2 case C_1 : block_1 3 case C_2 : block_2 4 case C_3 : block_3 5 ... 6 default: block0 7 } 这里如果expresssion的值等于C_i, 那么代码块block_i将被执行; 这里C_i必须是常量,但它们不需要 是同样的类型。 与C/C++不同,这里每个case的代码块被执行后都将自动跳出Switch-case结构, 不需要 用到break语句。 如果你需要针对不同的case值执行同样的代码块,你可以将这些值放在一个case里: 1 switch( expresssion ){ 2 case C1, C2, C3 : 3 block3 4 ... 5 default: block0 6 } 这里是个简单的例子: 1 a = "a"; 2 switch( a ){ 3 case 1, "a" : io.write("case 1 or a"); 4 default : io.write("case default"); 5 }