电锯惊魂几好看:Tcl简介(三):Tcl名字空间

来源:百度文库 编辑:偶看新闻 时间:2024/05/05 14:54:09
发信人: chenhao (努力学习), 信区: Linux
标  题: Tcl简介(三):Tcl名字空间
发信站: 北大未名站 (2000年11月24日00:48:04 星期五) , 转信

Tcl简介(三):Tcl名字空间
作者:Bricks


Tcl 名字空间

namespace
创建和操纵命令和变量的上下文(content)。

简介:
一个名字空间是一个命令和变量的集合,通过名字空间的封装来
保证他们不会影响其它名字空间的变量和命令。 Tcl 总是维护了一
个全局名字空间 global namespace 包含了所有的全局变量和命令。

namespace eval允许你创建一个新的namespace。
例如:
namespace eval Counter {
namespace export Bump
variable num 0

proc Bump {} {
variable num//声明局部变量
incr num
}
}
名字空间是动态的,可变的。
例如:
namespace eval Counter {
variable num 0//初始化
proc Bump {} {
variable num
return [incr num]
}
}

//添加了一个过程
namespace eval Counter {
proc test {args} {
return $args
}
}

//删除test
namespace eval Counter {
rename test ""
}
引用:
set Counter::num
//return 0
也可以用下面的方式添加:
proc Foo::Test {args} {return $args}
或在名字空间中移动:
rename Foo::Test Bar::Test