Tcl/Tk 重要特性与功能介绍
1. load 命令
load 命令支持共享库(即 DLL),这些共享库以编译代码的形式实现新的 Tcl 命令。借助此特性,将扩展打包为共享库是首选方式,这样在使用扩展时就无需编译自定义版本的 wish。创建共享库的详细信息可参考相关资料。例如,可以使用以下命令加载 Tix 库:
load libtix.so Tix
此外,info 命令新增了两个相关操作:sharedlibextention 和 nameofexecutable。
2. package 命令
package 命令为组织脚本库提供了另一种方式,它还支持通过 load 命令添加的扩展。该命令支持一种提供/需求(provide/require)模型,库中的脚本提供包,而应用程序通过 package require 命令指定所需的包。必要时,package 工具支持一个包的多个版本。
3. 多 foreach 循环变量
foreach 命令支持多个循环变量和多个值列表,这意味着在每次循环迭代中可以为多个变量赋值。这些值可以来自同一个列表,也可以来自并行处理的列表。例如,可通过以下代码遍历数组的内容:
foreach {name value} [array get arrName] {
# arrName($name) is $value
}
4. 事件循环从 Tk 迁移到 Tcl
为