码迷,mamicode.com
首页 > 其他好文 > 详细

Tcl/Tk 中 upvar 函数简介

时间:2014-11-14 01:46:02      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:upvar   level   


Upvar 函数类似于C中的传参,形如

  • upvar level otherVar myVar    对于myVar的操作都相当于操作otherVar

作用1 调用someproc函数时,不能直接使用varname。

proc someproc varname {    upvar 1 $varname var        set var 5    }someproc a

作用2 声明一个全局变量,全局变量命名空间的level是0

upvar #0 foo foo  ;# equivalent to: global foo

关于level,就是函数调用的层次

proc test_2 {b} {
puts [info level]
}

proc test_1 {a} {
puts [info level]
test_2 b
}

test_1 a

输出1 和 2 , 分别对应test_1和test_2的层级

此时如果在test_2 中调用0级变量,应该使用upvar 2 $varname var? 关于level讲解后续再做介绍

Tcl/Tk 中 upvar 函数简介

标签:upvar   level   

原文地址:http://bretoncrepe.blog.51cto.com/9590251/1576240

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!