Tcl编程简介(六)

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 Fo:Test {args} {return $args}


  或在名字空间中移动:


rename Fo:Test Bar::Test


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值