tcl学习笔记(2)
本站内容除转载精华分类或注明zz以外,其他均为原创内容。转载请注明出处,yhustc.com版权所有
if else 跟C里面一样,只不过if条件的括号变成了大括号。至于双引号的,暂时不管它吧。捡熟悉的记。
#求绝对值
if{ $x>=0 } {
puts "abs(x)=$x"
} else {
puts "abs(x)=[expr -$x]"
}
switch就比C的复杂多啦。可以用三种模式判断(因为tcl里面所有的值都是字符串,所以用多种类型匹配可以从分发挥字符串的优势)。-exact:精巧匹配 -glob:使用通配符匹配 -regexp:正则表达式匹配。关键的一点,在value前加--是一个好习惯。至于为啥看书上的解释吧。然后一个区别就是每种分支情况都不需要用case关键字。直接写分支。用花括号括起来。
swith -exact -- $day {
1 { puts "Monday" }
2 { puts "Tuesday" }
default { puts "Other days" }
}
while也跟C的一样。跟if else一样,条件也要用大括号括起来。
set i 0; while { $i<5 } { incr i }
foreach。C#、PHP啥的都有foreach,每个都记都记混了。这可好,tcl又出一个foreach,还跟它们都不一样。又多了个要记的。先记一个简单的,有个啥带list命令的,后面再说。
foreach value {1 3 5 7 9} {
puts "now value is $value"
}
for循环跟C也是一样的,不过不要分号了,不要小括号了。每个语句用个大括号括起来。直接上代码。
for { set i 0} { $i<10 } { incr i } {
puts $i
}
tcl的catch很强大,估计一点点比较写不全。书上33页。
过程。其实就是函数啦。跟PHP类似,不过function改成了proc,小括号改成了大括号。而如果变量有默认值的话,不用等号,而是把变量与默认值用一个大括号框起来。调用的时候,用语句调用。变量的作用域:跟PHP一样,引用全局变量需要在函数中用global声明。
proc p { a b {c 1} } {
set x [ expr ($a+$b)*$c ]; puts "x=$x"
return x
}
p 1 2;#结果是3
OTCL的就不记录了,太灵活,不是笔记两行字能写清楚的。只能需要的时候翻翻书了,呵呵。
lsosa | 2008-06-03 09:41:00
还不错 继续加油阿博主snow | 2009-07-06 12:02:44
不知道有没tcl和c集成的资料哇~