目录
- 4.1 数值操作数
- 4.2 操作符及其优先级
- 4.3 数学函数
- 4.4 表达式操作数的替换
- 4.5 字符串操作
- 4.6 列表操作
表达式将值(或操作数)与操作符联合起来,产生新的值。
常用的具有表达式参数的命令:
expr arg1 [arg2...]
功能:把参数作为表达式处理,获得表达式的值并把这个值作为字符串返回。if{表达式}{...}
- 整数的表达格式:
- 十进制(普通格式):
335
- 二进制(
0b
开头):0b101001111
- 八进制(
0o
开头):0o517
- 十六进制(
0x
开头):0x14f
- 十进制(普通格式):
- 实数的表达格式:ANSI C定义的大多数格式
2.1
7.91e+16
6E4
3.
Tcl表达式支持的所有操作符相同优先级从左到右进行计算,优先级从高到低排列:
语法结果操作数类型-aa的负值int,real+a对a进行一元加操作int,real!a逻辑非int,real~aa按位取反inta**b指数:a^bint,reala*ba乘bint,reala/ba除bint,reala%ba除b取余inta+ba加bint,reala-ba减bint,realaba算术右移b位,高位补符号位intaba大于bint,real,stringa=ba大于等于bint,real,stringa==ba等于bint,real,stringa!=ba不等于bint,real,stringa eq ba等于bstringa ne ba不等于bstringa in b列表b包含a元素a:string,b:lista ni b列表b不包含a元素a:string,b:lista&ba和b按位与inta^ba和b按位异或inta|ba和b按位或inta&&ba和b逻辑与int,reala||ba和b逻辑或int,reala?b:c三目运算a:int,real 4.3 数学函数Tcl表达式支持数学函数。 调用: expr 2*sin($x)
Tcl中的内建函数:
两种替换方式:
- 普通的Tcl解析器机制。
expr 2*sin($x)
- 通过表达式处理,在表达式处理时会再进行一轮变量替换和命令替换。
expr {2*sin($x)}
说明:大括号阻止了Tcl解析器替换x的值,将整个表达式传给expr,在表达式处理时进行替换。
这种两次替换的方式对while这种反复处理表达式的命令有很大的影响:
set pow 1
while {$pow
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?