Tcl 命名空间
命名空间是用于分组变量和过程的一组标识符的容器。命名空间从Tcl 8.0版本开始提供。在引入命名空间之前,只有一个全局范围。现在借助命名空间,我们有了额外的全局范围分区。
创建命名空间
使用 namespace 命令来创建命名空间。下面是创建命名空间的简单示例 −
当上述代码被执行时,会产生以下结果 –
在上面的程序中,你可以看到有一个带有变量 myResult 和一个过程 Add 的命名空间。这使得可以在不同的命名空间下创建具有相同名称的变量和过程。
嵌套命名空间
Tcl允许嵌套命名空间。下面给出了一个简单的嵌套命名空间的示例
当上述代码被执行时,它产生以下结果−
导入和导出命名空间
在前面的命名空间示例中,我们使用了很多作用域解析运算符,使用起来更复杂。我们可以通过导入和导出命名空间来避免这个问题。下面是一个示例:
当执行上述代码时,将产生如下结果 −
忘记命名空间
你可以通过使用forget子命令来删除导入的命名空间。下面是一个简单的示例:
当执行以上代码时,它生成以下结果−