• TCL LEARN NOTE


    TCL LEARN NOTE

    BASIC

    1. 命令格式

      • tcl命令类似于bash,单行单个命令结尾不需要加分号
      • tcl单行多个命令,用分号区分
      • perl script,命令结尾需要加分号
    2. 变量置换

      set x 10
      set y $x+20
      
    3. 命令置换

      命令置换是由[]及其参数组成的

      命令置换的结果是[]及其参数最后一个命令的返回值

      set x 10
      set y [expr $x+10]
      
      set y [expr $x+100;set b 300] //y的值为300
      
    4. 反斜杠置换

      转义作用

    5. 双引号花括号

      • 花括号中的所有字符都将失去特殊意义,原样输出
      • 双引号仅会对$/[]/换行符进行处理
    6. 注释

      • tcl使用#注释,必须是在行首
      #set var name
      set name lina  #set comment 	(wrong)
      set name lina; #set comment 	(right)
      
    7. 变量

      变量置换时,将$后第一个不是数字/字母/下划线的字符作为字符段结尾

      set a 		5
      set a.1		6
      set b		a.1
      #result:	b=5.1
      
      set b		${a.1}
      #result:	b=6
      
    8. 数组

      • tcl不支持复杂变量
      • 数组和数组元素要一起声明
      set arrays(value1) 1
      set arrays(value2) 2
      set c $arrays(value1)
      
      #result c=1
      
    9. 操作数

      • 八进制数:011对应十进制数9
      • 十六进制数:0x11对应十进制数17
    10. 函数

      • 绝对值:abs()
      • 反余弦:acos()
      • 反正弦:asin()
      • google

    COMMAND

    1. set

    2. unset

    3. append

      追加一段文本

      set str hello
      append str "lina"
      #result: hello lina
      
    4. incr

      原来整数数值基础上加上一个数

      set b 5
      incr b 3
      #result: b=8
      
    5. list

      • list是一组元素的有序集合
      • 元素可以是字符也可以是一个list
      list 12 25 {6 0}
      
    6. lindex

      list索引

      • lindex {list} index
      list 2 8 {4 6}
      lindex {2 8 {4 6}} 2
      #result: 4 6
      
    7. llength

      llength {list},返回list长度

      llength {2 8 {4 6}}
      #result: 3
      
    8. linsert

      linsert {list} index list2

      在索引值前插入list2形成一个新的list

      list 1 2 3
      linsert {1 2 3} 2 5 9 10
      #result: 1 2 5 9 10 3
      
    9. lreplace

      lreplace {list} first last list2

      first到last索引值元素被list2替换

      list 1 3 5 7 9
      lreplace {1 3 5 7 9} 1 2 2 4 6 8
      #result: 1 2 4 6 8 7 9
      
    10. lrange

      lrange {list} first last

      返回first到last索引值之间的元素

      如果last为end就会返回从first到end之间的值

      lrange {1 3 5 7 9} 2 3
      #result: 5 7
      
    11. lappend

      每个value值作为一个元素附加到变量varname后面

      set	a	7
      lappend a 1 2 3
      #result:a= 7 1 2 3
      
    12. lsearch

    13. lsort

    14. split

      分隔命令

    15. join

      合并命令

    控制语句

    1. if语句

      {一定要写在上一行

      if和{之间有空格分隔

      if {condition1} {
      
      }elseif {
      
      } else {
      
      }
      
    2. while语句

      while {condition1} {
      
      }
      
    3. for语句

      for {op1} {op2} {op3} {
      
      }
      
    4. foreach语句

      foreach {list} {
      
      }
      
    5. break and continue

      • break跳出整个循环
      • continue结束本次循环
    6. switch

      switch $var {
      condition1 op1
      condition2 op2
      default	   op3
      }
      
    7. eval

    8. source

    procedure

  • 相关阅读:
    Python程序中的线程操作-concurrent模块
    SVN Checkout 不包括源文件夹根目录(转)
    Windows下配置Nginx使之支持PHP(转)
    htaccess 正则规则整理(转)
    用htaccess进行访问控制(转)
    改写URL的查询字符串QUERY_STRING(转)
    htaccess URL重写rewrite与重定向redirect(转)
    URL重写:RewriteCond指令与RewriteRule 指令格式(转)
    开启.htaccess重写之前先来看看mod_rewrite(转)
    php导出excel不断刷新缓冲区的思路(转)
  • 原文地址:https://www.cnblogs.com/movit/p/14193020.html
Copyright © 2020-2023  润新知