Tcl学习之--表达式

作者:金牛区福生殡葬服务部 来源:www.cdfsbz.com 发布时间:2017-09-07 13:12:52
Tcl学习之--表达式

表达式的操作数通常是整数或实数。整数可能是十进制,二进制,八进制或十六进制。比如下面同一个整数

335 --> 十进制

0o517 --> 八进制

0x14f --> 十六进制

0b10100111 --> 二进制

处理0开头的十进制整数最安全的方法是使用scan命令.

下面就是很常用的例子:

\

l 操作符及其优先级别

Tcl与C类似,相同的优先级符从左到右进行计算。比如:10-4-3与(10-4)-3结果是一样的,但如果4*2 < 7,计算结果为0,因为*的优先级别大于>,其实那么多操作符,根本不可能记住,最保险,也是最可靠的就是用()来完成自己的意图。

l 算术操作符

+, -, *, /, %, 及**

l 关系操作符

<; <=; >=; >; ==; !=

l 逻辑操作符

逻辑操作符 &&, || , 以及!

($x > 4) && ($x < 10),其中每个操作符结果都是0或1

A && B: A与B同时为真,方为真

A || B : A与B只要有一个为真,就为真

!A : A为假,则为真

Tcl中总是用1代表真,0代表假,在Tcl中:

false, no以及off表示假

true, yes以及on表示真

NOTE: 这些字符串不区分大小写.

l 按位操作符

Tcl中提供了6个操作符. &, |, ^, << , >>,以及~

& : 按位与

| : 按位或

^ : 异或

<<: 按位左移

>>: 按位右移

~ : 取反符号

l 三元操作符

expr {($a < $b) ? $a : $b}

$a < $b为条件

1) 如果条件为真: 则选择$a

2) 如果条件为假: 则选择$b

l 数学函数

Tcl表达式支持数学函数,如sin(),cos(),abs(),exp()等函数,到时候请查阅文档即可.

l 替换

表达式操作数的替换有两种方式:

方式一: 普通的Tcl解析器机制

方式二: 通过表达式处理

1. 首先当表达式遇到$,它自己会进行一次变量替换,把变量x的值传给sin.

2. 其次将2*sin($x)作为参数传递给expr.

NOTE: 最好总是把表达式用{}括起来,即使是在使用expr命令的时候,原因一:Tcl处理括起来的表达式效率,大大高于没有括起来的表达式。原因二:避免代码中出现一些难以捕捉的安全漏洞.比如说:

set x [expr $input - 2]

如果有用户输入[format c:],Tcl解析器直接会将这个字符串作为input变量,从而格式化C盘。

l 字符串操作

Tcl表达式接收字符串,一般是下面两种方式

方式一: 用双引号

方式二: 用大括号

所以像下面的表示是错误的:

l 列表操作

Tcl 支持两个列表操作符,in 与 lsearch –exact

\

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:咸宁网站制作 http://xianning.666rj.com

  • 上一篇:判定一组矩形是否共同构成一个完整的矩形
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 金牛区福生殡葬服务部 ALL RIGHTS RESERVED.
    购买cdfsbz.com友情链接、项目合作请联系客服QQ:2500-38-100 邮箱:2500-38-100#QQ.com(#换@)
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100