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语句
Tcl条件语句的更多相关文章
- Python —条件语句
条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null ...
- php简写表达式,&& or || 缩写条件语句
有时候学的多了, 好多小细节 都忘了 ,比如 简单的表达式, 三元表达式 ?:; $aa or $bb 表达式 等等! 写一些简单的表达式,备忘! php用&&和||缩写条件语句 ...
- java中的条件语句(if、if...else、多重if、嵌套if)
Java条件语句之 if 生活中,我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一个 IPHONE 5S .对于这种"需要先判断条件,条件满足后才 ...
- javascript语句——条件语句、循环语句和跳转语句
× 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...
- go语言条件语句 if else
示例: if a < 5 { return 0 } else { return 1 } 关于条件语句,需要注意以下几点: 条件语句不需要使用括号将条件包含起来(): 无论语句体内有几条语 ...
- Todd's Matlab讲义第4讲:控制误差和条件语句
误差和残量 数值求解方程\(f(x)=0\)的根,有多种方法测算结果的近似程度.最直接的方法是计算误差.第\(n\)步迭代结果与真值\(x^\*\)的差即为第\(n\)步迭代的误差: \begin{e ...
- 5-python学习——条件语句
5-python学习——条件语句 5-python学习——条件语句 条件语句if else形式 if else条件语句说明 测试一下 编程语言一般都由这么几个部分组成 变量 条件分支语句 循环语句 函 ...
- Python基础6- 流程控制之if条件语句
Python条件语句是通过判断一条或多条条件语句的执行结果来决定执行哪条代码块的.Python 中if 语句用于控制程序的执行,基本形式为:if 判断条件: 执行语句……else: 执行语句…… #c ...
- Jade之条件语句
条件语句 jade支持js中的if/elseif/else语法. jade: - var user = { description: 'foo bar baz' } - var authorised ...
随机推荐
- P1349 广义斐波那契数列(矩阵乘法)
题目 P1349 广义斐波那契数列 解析 把普通的矩阵乘法求斐波那契数列改一改,随便一推就出来了 \[\begin{bmatrix}f_2\\f_1 \end{bmatrix}\begin{bmatr ...
- Commander基本使用
随着NodeJs的不断发展,对于前端来说要做的东西也就更多,Vue脚手架React脚手架等等等一系列的东西都脱颖而出,进入到人们的视野当中,对于这些脚手架工具来讲也只是停留在应用阶段,从来没有想过脚手 ...
- Python运算符大全
一. Python的算术运算 Python的算术运算符与C语言类似,略有不同.包括加(+).减(-).乘(*).除(/).取余(%).按位或(|).按位与(&).按位求补(~).左移位(< ...
- 解决IDEA Java Web项目没问题,但部署时出错的问题
如果确定代码没问题,那多半是项目中用到的库没有被Tomcat复制到部署位置的lib目录下. 点击调试/运行,看到控制台Tomcat在部署,但一直不弹出浏览器页面,Tomcat控制台报错如下: 是在Ar ...
- 根据不同配置.env获取不同的配置文件的配置
env 不同环境 1. 安装扩展 composer require vlucas/phpdotenv 2 . 创建文件 .env .env.test .env.production .env.exam ...
- list集合排序案例
// List集合排序: Collections.sort(list, new Comparator<Object>(){ public int compare(Object obja, ...
- JMeter java.net.BindException: Address already in use: connect
原文:https://blog.csdn.net/macwhirr123/article/details/77199057 出现原因:TCP/IP连接数不够或TIME_WAIT中存在很多链接,导致吞吐 ...
- oracle instantclient_12_2安装
下载地址 http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index ...
- 虚拟机网络设置(NAT模式)
虚拟机网络设置(NAT模式) linux 1. 设置虚拟机网络 1.1. NAT子网设置 1.2. 网卡配置文件设置 1.3. 重启网络服务 1.4. 配置端口转发 2. 配置网络共享 预期想要搭建本 ...
- ARTS-week2
Algorithm 给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本.所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 ".&q ...