1.输出:tcl使用”puts”关键字来作为输出语句
puts hello
结果=> hello
puts –nonewline "hello hello"
结果=>hello hello
2.赋值: tcl 使用“set”关键字来定义参数,不必指定变量值的类型,因为变量值的类型仅一种——字符串。为变量赋值时,会为变量开辟一段内存空间来存储变量值。
set a Hello ;#定义变量 a 并赋值
=>Hello
puts $a ;#输出变量值
=>Hello
set a “Hello world” ;#重新赋值
=>Hello world
set a “Hello world”
=> Test Tcl ;#输出变量值,此时不加”$”
puts $a
=>Hello world ;#输出变量值,此时要加”$”
puts a
=> a ;#输出字符”a”
set b $a
=>Hello world
puts $b
=>Hello world ;#将 a 的值赋给 b
3.替换
(1): “ “ ”符实现引用替换,用以引用参数值。
Tcl 对替换只进行一遍解释,对嵌套的”$”不于理睬。
set foo oo
=>oo
set dollar foo
=>foo
set x $$dollar
=>$foo ;
#只解释一次,将“$dollar”用 dollar 的值(foo)代替, ;
#命令等效为 set x {$foo},大括阻止替换。
set x {$foo}
=>$foo
set y $x
=>$foo ; #一轮替换
(2) :[]
方括号“[]”完成命令替换。用“[]”将一条命令括起来,命令执行完成后,返回结果。
set b [set a 5] ;#set a 5 命令输出的结果赋给 b
=>5
puts $b
=>5
set c [expr 5 * 10] ;#将乘式结果赋给 c
=>50
(3): ” ” 和{}
双引号和花括号将多个单词组织成一个参数,也是一种替换操作。””和{}内的替换如何进行呢?一般的原则是在” “内的替换正常进行,而在{}内的替换有可能会被阻止。
set a 123
=>123
puts "$a" #会替换
=>123
puts {$a} #不会替换
=>$a