Owen的酒楼

--酒楼上渡过的人生--
生命太短,人生太长,但愿别喝醉了。

导航

TCL基本语法 ZT

Posted on 2008-08-29 15:19  Hicome  阅读(500)  评论(0编辑  收藏  举报

TCL(Tool Command Language)为解释型语言,也属于一种编程语言。今天总结了一下它的基本语法:
#后边为注释,不是正式的语句
#定义2个变量,并求它们的和
set a 100
set b 200
puts $a
puts $b
set sum [expr $a+$b]
puts $sum
----------------------
#定义一个变量
set a 200  
----------------------
#变量a的值加1
set a 100
incr a
incr a
----------------------
#变量a的值减1
incr a -1
----------------------
#延时10000毫秒显示
after 1000
----------------------
#输出hello 字符串
puts "hello"
----------------------
#输出$90.  TCL语言中的保留字符例如$,中括号,tab,空格等如果要显示,前面加\
puts "\$90"
set a "\$90"
----------------------
#输出good morning
set a good\ morning
----------------------
#连续定义2个变量
set a 100;set b 200
----------------------
#如果一个语句写不下,可以用\回行
set a 100
\set b 300
----------------------
#输出good morning
set c good\ morning
----------------------
#输入两个变量,求它们的乘积
set a 100
set b 200
set chengji [expr $a*$b]
puts $chengji
----------------------
#打印表格
[id]                [name]                [sex]
001                zhang                male

puts "\[id]                \[name]                \[sex]\n001                zhang                male"
----------------------
#使用引号输出字符串"the price is $299"
set a "the price is \$299"
----------------------
#使用引号输出字符串"[0-9a-A]hello"
set a "\[0-9a-A]hello"
----------------------
#使用字符串输入字符串id        name
set a "id\        name"
----------------------
#使用大括号输入the price is $299
set a {the price is $299}
----------------------
#使用大括号输入字符串[0-9a-A]hello
set a {[0-9a-A]hello}
----------------------
#使用大括号输入字符串id        name
set a {id        name}
----------------------
#定义数组变量,使其元素分别为Monday和Sunday,并借助puts命令查看每个数组元素的值
set day(0)         Monday
puts $day(0)

set day(1)         Tusday
puts $day(1)

set day(2) Wendsday
puts $day(2)

set day(3) thursday
puts $day(3)

set day(4) Friday
puts $day(4)

set day(5) Satday
puts $day(5)

set day(6) Sunday
puts $day(6)
----------------------
#使用expr命令,对八进制数011进行计算
expr 011
----------------------
#使用expr命令,对八进制数012进行计算
expr 012
----------------------
#使用expr命令,对十六进制0xa进行计算
expr 0xa
----------------------
#使用expr命令,对十六进制0x10进行计算
expr 0x10
----------------------
#借助expr 使用函数abs(x),cos(x),log10(x)
expr abs(-1)
expr cos(90)
expr log10(10)
----------------------
#定义一个列表,列表元素为1 2 {3 4 {6 7}}
list 1 2 {3 4 {6 7}}
----------------------
#对上题中的列表计算元素个数
llength {1 2 {3 4 {6 7}}}
----------------------
#对上题中的列表的第一个位置插入元素5
linsert {1 2 {3 4 {6 7}}} 1 5
----------------------
#对上题中的列表的第2个元素用89 代替
lreplace {1 5 2 {3 4 {6 7}}} 2 2 89
----------------------
#对上题中的列表追加两个元素12 24
linsert {1 5 89 {3 4 {6 7}}} 4 12 24
----------------------
#对上题中的列表进行排序,按照从小到大的顺序排列
lsort -increasing {1 5 89 {3 4 {6 7}} 12 24}
----------------------
#将列表元素拆分成一个个单词,并返回
split "how.are.you" .

split "how are you" {}
----------------------
#练习format和scan命令
set msg [format "%s is %d years old" Mike 20]

scan "some 26 34" "some %d%d" a b
puts $a
puts $b