zoukankan      html  css  js  c++  java
  • Tcl学习之--表达式

    数值操作数

    表达式的操作数一般是整数或实数。整数可能是十进制。二进制,八进制或十六进制。

    比方以下同一个整数

    335               --> 十进制

    0o517           --> 八进制

    0x14f            --> 十六进制

    0b10100111 --> 二进制

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

    以下就是非经常常使用的样例:


    操作符及其优先级别

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

    算术操作符

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

    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: 这些字符串不区分大写和小写.

    按位操作符

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

    & : 按位与

    | : 按位或

    ^ : 异或

    <<: 按位左移

    >>: 按位右移

    ~ : 取反符号

     

    三元操作符

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

    $a < $b为条件

      1)  假设条件为真: 则选择$a

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

    数学函数

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

    替换

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

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


    方式二: 通过表达式处理


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

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

    NOTE: 最好总是把表达式用{}括起来,即使是在使用expr命令的时候,原因一:Tcl处理括起来的表达式效率,大大高于没有括起来的表达式。

    原因二:避免代码中出现一些难以捕捉的安全漏洞.比方说:

    set x [expr $input - 2]

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


    l 字符串操作

    Tcl表达式接收字符串。通常是以下两种方式

    方式一: 用双引號


    方式二: 用大括号


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


    列表操作

    Tcl 支持两个列表操作符,inlsearch –exact


  • 相关阅读:
    树莓派添加桌面快捷方式
    计算机网络
    django-auth2
    令牌桶算法-python
    linux centos-7 添加开机自启动脚本
    pymongodb-explain
    哈希表
    tcp/udp
    jemeter之jmeter+ant+jenkins搭建接口自动化测试环境
    jmeter之jmeter + ant + jenkins(二)Jenkins安装
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6895986.html
Copyright © 2011-2022 走看看