TCL- 局部变量和全局变量 点击:3201 | 回复:0



xilinxue

    
  • 精华:13帖
  • 求助:0帖
  • 帖子:367帖 | 3回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2010-02-25 18:54:18
楼主
对于在过程中定义的变量,因为它们只能在过程中被访问,并且当过程退出时会被自动删除,所以称为局部变量;在所有过程之外定义的变量我们称之为全局变量。TCL中,局部变量和全局变量可以同名,两者的作用域的交集为空:局部变量的作用域是它所在的过程的内部;全局变量的作用域则不包括所有过程的内部。这一点和C语言有很大的不同.

如果我们想在过程内部引用一个全局变量的值,可以使用global命令。例如:

% set a 4
4
% proc sample { x } {
global a
incr a
return 【expr $a+$x】
}
% sample 3
8
%set a
5

全局变量a在过程中被访问。在过程中对a的改变会直接反映到全局上。如果去掉语句global a,TCL会出错,因为它不认识变量a。



热门招聘
相关主题

官方公众号

智造工程师