名称空间是一个容器组标识符,用于组变量和程序。
名字空间的命令格式为namespace eval spaceName { body }
名字空间中的变量与程序,可通过export命令导出,供外部命令使用;名字空间内,可通过“::”或者global命令引用外部变量。
set list [linsert {9 1 5 7} 3 5 7 {2 7 4 0}]
puts $list
格式linsert list index element ? element element ...?
所以是在list 9 1 5 7 的第三个值插入 5 7 {2 7 4 0}
输出 9 1 5 5 7 {2 7 4 0} 7
info命令提供了查看TCL解释器信息的手段
info commands ?pattern? 返回匹配的命令列表
info exists varName 变量存在返回1,否则返回0
info globals?pattern? 返回全局变量列表
info locals? pattern? 返回局部变量列表
info procs?pattern? 返回过程列表
info vars?pattern? 返回变量列表
info script 正在处理的脚本名,如一个.tcl 文件正在被 source 命令
Format函数:返回按指定方式格式化一个数组常量的字符形式。
format spec value1 value2 ...命令,用来格式化字符串,spec 变元包含了格式说明关键词和附加文字。使用%来引入一个关键词,后跟 0 个或者多个修饰符,然后使用一个转换格式符结尾。
set res [format "%2\$s" 1 5 9]
=>5
%puts $res
=>5
set str [format "%3\$s %1\$s %2\$s" "are" "right" "You"]
=> You are right
可选标志
转换指定器的第二部分可以包含以下任何一个标志字符,顺序不限。
-
指定转换后的参数在其字段中应该是左对齐的(如果需要的话,数字通常是右对齐的,有前导空格)。
+
指定一个数字应该总是用符号打印,即使是正数。
space
指定如果第一个字符不是符号,则应在数字的开头加一个空格。
0
指定数字应该在左边用零而不是空格来填充。
#
请求备用输出形式。对于o和O转换,它保证第一位始终为0。对于x或X转换,除非其为零,否则将分别将0x或0X添加到结果的开头。对于b转换,除非其为零,否则0b将添加到结果的开头。对于所有浮点转换(e,E,f,g和G),它保证结果始终有小数点。对于g和G 它指定不删除尾随零的转换。
set a “setup”;set b 2.5
format “%07s%.2f” $a $b
$a 7个占位符 不足的用左边0来填充 后跟2位小数浮点的 $b
set a “setup”;set b 2.5
format “%2\$07s%1\$.2f” $b $a
先输出第二个值$a $a 7个占位符 不足的用左边0来填充,接着输出第一个值$b $b为2位小数浮点