namespace eval namespace1 { variable var10procproc1 {} {return"Hello from proc1"} } namespace eval namespace2 { namespace import namespace1 namespacealiasvar1 namespace1::var namespacealiasproc2 namespace1::proc
所以命名空间内的变量必须用variable命令声明,才能够算该空间内的变量(也就是宣告变量属于该命名空间) # namespace eval 创建命名空间,下面创建了xingnamespaceevalxing{# 下面声明变量ming(宣告变量属于xing,此时变量还没有变量值)variable ming}setxing::ming"命名空间变量的使用方法" *这里只介绍命名空间概念,更多...
TCL脚本语言-10-名字空间
namespace eval myNamespace { variable myVar "I am in a namespace" proc hello {} { puts $myVar } } myNamespace::hello 特殊符号与操作符方括号 [ ]:用于命令替换和表达式求值。 set sum [expr 3 + 4] 美元符号 $:用于变量引用。 set varName "foo" puts $$varName # 输出 "foo",注意这...
名称空间的例子如下:namespace eval XXX variable var_x tw-gongjin proc AddXY x y return expr $x + $y 名称空间名称空间 可以通过如下命令引用名称空间里面的变量或过程: puts $XXX:var_x /结果:tw-gongjinXXX:AddXY 5 5 /结果:10为使上面的名称空间简洁便于维护,可以如下定义:namespace eval XXX ...
rename my_namespace::my_var my_namespace::new_var. 这样就相当于把`my_namespace`命名空间下的`my_var`重命名为`new_var`了。 在特定场景下与命名相关的其他用法。 命名规则。 在Tcl中,名称可以由字母、数字和下划线组成,但不能以数字开头。比如`valid_name`是一个合法的名称,而`1invalid_name`是不合...
TK inspect tool,这个程序可以分析自己编写的TK 的各个namespace,各个component,这个tool 是Tk应用交互的一个很好的实例。 文末思考题 Tcl 的好处我也鼓吹那么多了,现在如果你有一个私人Support 团队,CAD 团队为你服务,你希望有一个什么最能解决你当前问题的Tcl 脚本或应用?大家可以留言讨论或者入群讨论。这个假设...
define_proc namespace name args body 其中,namespace是命名空间的名称,name是过程名称,args和body的含义与前一种形式相同。 下面的示例展示了第二种形式的用法: namespace eval math { define_proc add {x y} { expr {x + y} } define_proc subtract {x y} { expr {x - y} } } 在这个例子中,...
一、创建命名空间 实际上是一系列变量和过程的集合,使Tcl解释器可以对这些变量和过程进行分组管理。 即使变量名相同但是命名空间不同,就不会冲突 使用分隔访问符::来访问命名空间 命名空间可以嵌套,呈树状结构 namespace children 返回指定命名空间的子空间 namespace parent 返回指定命名空间的夫空间 n… ...