Tcl条件语句

If {条件表达式1} {

    执行语句1

} elseif {条件表达式2} {

    执行语句2

} elseif {条件表达式3} {

    执行语句3

} else {

    执行语句4

}

 

注:elseif {条件表达式}为可选

 

示例:

错误格式:

if {$x<0}

{

    set x 0

}

正确格式:

if {$x<0} {set x 0} (不推荐)

if {$x<0} {

set x 0

}

 

脚本:

set x 2

set y 3

if {$x<$y} {

    puts "x is less than y"

}

运行结果:

switch 匹配模式(可选) 字符串 模式1 对应的tcl脚本1 模式2(可选)对应的tcl脚本2 ... default对应的tcl脚本

匹配模式:1-exact 精确匹配模式(默认模式)

         2-glob 字符串匹配模式

3-regexp 正则表达式匹配模式

switch匹配模式(可选) 字符串 {

    模式1 对应的tcl脚本1

    模式2 对应的tcl脚本2

    ....

    模式N 对应的tcl脚本N

    default 对应的tcl脚本

}

脚本示例1

set x 7

set y 7

 

switch $x \

$y {puts "X=Y"} \

{[0-9]} {puts "<10"} \

default {puts ">10"}

运行结果:

脚本示例2

set x 7

switch -glob $x {

    "1" {puts "one"}

    "2" {puts "two"}

    "3" {puts "three"}

    "$y" {puts "X=Y"}

    {[4-9]} {puts "greater than 3"}

    default {puts "Not a value bettwen 1 and 9"}

}

执行结果:

示例脚本3

puts "Who recorded 'Mr Tambourine Man'"

gets stdin artist

switch $artist {

    {Bob Dylan} -

    {Judy Collins} -

    {Glen Campbell} -

    {The Byrds} {

        puts "$artist recorded 'Mr Tambourine Man'"

    }

    default {

        puts "$artist probably recorded 'Mr Tambourine Man'"

    }

}

运行结果:

注:模式 -这样的形式表示这个模式和下一个模式执行相同的tcl语句

posted @ 2015-12-17 14:34  硫酸亚铜  阅读(922)  评论(0编辑  收藏  举报