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 ...
随机推荐
- swagger2 404
swagger2 404 正确配置swagger后(配置),出现404问题. 如图: 分析原因 我是在配置完成swagger后正常使用过一段时间的,然后检查了相关配置项的代码,没有被改动过.可以确定s ...
- Java项目之查询后分页
一.Jsp页面: <%@ page language="java" contentType="text/html; charset=UTF-8" page ...
- Navicat导出数据库设计文档
前言:仅支持单表导出 导出sql: SELECT TABLE_NAME 表名, COLUMN_NAME 列名, COLUMN_TYPE 数据类型, COLUMN_KEY 主键, IF(IS_NULLA ...
- C# DataTable 和List之间相互转换的方法(转载)
来源:https://www.cnblogs.com/shiyh/p/7478241.html 一.List<T>/IEnumerable转换到DataTable/DataView 方法一 ...
- Linux安装和配置MySQL5.7【修改密码、修改字符集等配置】(5.7.18+版本也可参考,我是5.7.22)
本文是转载篇,这里是 原文原文原文. --------------------分割线------------------------------- 这下面内容讲述如何修改密码为简单密码(比如:1234 ...
- oracle 11g goldengate搭建(一)
初学ogg,基本了解ogg原理及架构之后,趁热打铁,搭建一个简单的学习环境,以实现目标:将sourcedb数据库的2个表:sourceuser.test01和sourceuser.dept通过ogg分 ...
- MySQL/MariaDB数据库的复制加密
MySQL/MariaDB数据库的复制加密 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的安全问题 1>.基于SSL复制 在默认的主从复制过程或远程连接 ...
- Python 进程共享数据(数据传输)实例
#coding:utf-8 ''' Created on 2017年11月22日 @author: li.liu ''' import multiprocessing from time import ...
- 为什么需要 Redis 哨兵?
在说哨兵之前,我们先说下主从复制,Redis 的主从复制模式,一旦主节点出现故障无法提供服务,需要人工介入手工将从节点调整为主节点,同时应用端还需要修改新的主节点地址,这种故障转移的方式对于很多应用场 ...
- postgres高可用学习篇三:haproxy+keepalived实现postgres负载均衡
环境: CentOS Linux release 7.6.1810 (Core) 内核版本:3.10.0-957.10.1.el7.x86_64 node1:192.168.216.130 node2 ...