TSL语言基础 > TSL语言基础 > 流程控制语句 > 条件语句

CASE    

  • 多分支条件语句,Case of
    语法一:普通语法。
    CASE <Expression> OF
    <情况标号表1>: 语句1;
    <情况标号表2>: 语句2;
    : <情况标号表N>: 语句N;
     [Else 例外语句;]
    End;
    情况标号表的语法为:
    CASE区间1[,CASE区间2..CASE区间N]
    CASE区间的语法为:
    区间开始值[TO 区间结束值]
    如果没有TO语句,则结束值和开始值相同。
    例:
    Function CaseExample(Age);
    Begin
    Case Age Of
     0: Writeln("婴儿");
     1 ,2: Writeln("婴幼儿");
     3 TO 6: Writeln("幼儿");
     7 TO 14: Writeln("少年");
     15 TO 17: Writeln("青少年");
     Else
      Writeln("成年");
    End;
    End;

    语法二:支持Case表达式,在该种情况下,分支语句不支持语句段,只能是单语句表达式。
    B:= CASE <Expression> OF
    <情况标号表1>: 表达式1;
    <情况标号表2>: 表达式2;
    …(其它的与普通用法一致)
    范例:
    范例一:
    a:=3; 
    b:=
    case a of    
    1,2:"1/2";    
    3,4:"3/4";  
    else    
    "OTHER";  
    end;
    return b;
    //结果:3/4
    范例二:
    a:=3; 
    b:=
    case a of    
    1,2:echo "1/2";    
    3,4:echo "3/4";  
    else   
    "OTHER";  
    end;
    return b;
    //结果:0。打印窗口:3/4 
    范例三:表达式的用法
    b:=@case a of
           1,2:"1/2";
           3,4:"3/4";
           else
            "OTHER";
          end;
    a:=2; 
    return eval(b);

    //结果:1/2