“未来的世界:方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要! ”    ——清华大学校长留给毕业生的一段话

Tcl编程简介(六)

上一篇 / 下一篇  2007-07-09 17:38:23

Tcl编程简介(六)
9PkPIQ$s rV`0Q0
 

N4yY\ P7X)O%Q X`0
51Testing软件测试网!Mk3W^$]$G:J

Tcl 名字空间51Testing软件测试网yj Oj#@^

51Testing软件测试网b_1W B6S r/]M~'a

namespace
ZPt@{.G&?0

c b2Vz+v&g E+L H0 51Testing软件测试网!T#V/iw/@(OE U0p3h$o2d

  创建和操纵命令和变量的上下文(content)。51Testing软件测试网9D Si V-|p7w t+T f;O

51Testing软件测试网(hhE2p#~ sG K+d

简介:51Testing软件测试网?HOIl-H[(oZ!X

*c)Q2_t!{6|m0  一个名字空间是一个命令和变量的集合,通过名字空间的封装来保证他们不会影响其它名字空间的变量和命令。 Tcl 总是维护了一个全局名字空间 global namespace 包含了所有的全局变量和命令。

b'K3X-W l#o4R+l0 51Testing软件测试网D,zPfM#FhC0O

  namespace eval允许你创建一个新的namespace。51Testing软件测试网HUkI)wk,U

XtHE4W'b rl0  例如:

z V)}2uh!` X0 51Testing软件测试网A-k+pC\ v6[2HFQ Ibs

51Testing软件测试网1q@#U^?$W{q
namespace eval Counter {
7stE:[%]E^0 namespace export Bump 51Testing软件测试网V#n+p9V[jg
variable num 0 51Testing软件测试网x9gpME$^

e v_Tq0proc Bump {} {
:B2U3Y,RG2{0 variable num//声明局部变量
qz6~%o%m8I)NT0 incr num 51Testing软件测试网]oady'rR
} 51Testing软件测试网uB0rMD*W3]0F
} 51Testing软件测试网}(KVi-[t?

51Testing软件测试网+I j&W'a)Bg XU

*YL G jA3hVw0 51Testing软件测试网y6r[ ]"C8V

  名字空间是动态的,可变的。51Testing软件测试网Q3^%O!qz/[%k

4s|%u8^8D ?+N0  例如:

yGri8MK'L0

U0YN7kP051Testing软件测试网"nC `*ND7{.b
namespace eval Counter {
]6n(fGbj^ Wce0 variable num 0//初始化
t6R9W*kg? y)^.Q0 proc Bump {} {
:WpW2u&\+O0 variable num
%O8~)AEC w0 return [incr num]
)L'l_:@b m[0xf0 }
.M1gJMm0 }

6}nL3qh0 51Testing软件测试网 Brm)_8EA2~!Wqu

//添加了一个过程
%M MR:b0].gr/d0 namespace eval Counter {
9n aU H]G}0 proc test {args} { 51Testing软件测试网8}$C_$@"w]4|.D![[;@
return $args
-M:T c:e1t ~&X3P(X0 } 51Testing软件测试网%_*`1_,usa'F8E
}

'{.u3T)|.@7s9Hv T3Z0

+G2\ru,F m1fq0//删除test
"UZs:K#V/jtx0 namespace eval Counter {
'W2UmqV5w0 rename test ""
5g,ZP*{C"D{\9q/Tl0 } 51Testing软件测试网 vb1p Q5`\e

4Y-^PdTcq9_ _O0

DZYTS0 51Testing软件测试网#h|^j9v

  引用:51Testing软件测试网8o hcB;[.S!iUKA

51Testing软件测试网u#S|1x{'WQ


0lzVC\w~U0 set Counter::num
'F)HD6L'jG0g:f{D0 //return 0

O4p hGKM0 51Testing软件测试网Q G*N A py,`Or

l/V&Mw1LgE5W0

$E.Lz'o4Ev \~fx0  也可以用下面的方式添加:

0US,j/l]nq0

?u ^.T"|oQO/m"h0proc Foo::Test {args} {return $args} 51Testing软件测试网:ZMWH,d(L6?N5ide
51Testing软件测试网lq w%]jRK

51Testing软件测试网 C:rUI Oba

  或在名字空间中移动:

+[%H#u&U-@AaZ3f0 51Testing软件测试网7@*Vu/K*d_

rename Foo::Test Bar::Test51Testing软件测试网P;Y4qD?r

t-wPrDK9y0

0ecVG(O^U0

?@8f Oda0

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 58179
  • 日志数: 103
  • 图片数: 4
  • 文件数: 2
  • 建立时间: 2007-05-20
  • 更新时间: 2010-11-23

RSS订阅

Open Toolbar