您的位置:首页 > 编程语言 > Lua

lua中的全局变量与局部变量与块

2017-11-05 12:37 357 查看



1.全局变量:

    全局变量不需要声明,只需要直接给赋值即可。当然删除一个全局变量喜欢只需要将他赋值为nil即可。换句话说如果存在一个全局变量必然具有一个非nil值。

2.局部变量
   用local声明,其作用域仅限于声明他们的那个块。这个块可以是局部控制结构,function以及chunk1。
 例子:
chunk1:

 


     

        需要注意的是y是全局变量,但由于声明在函数中函数体未执行的话,y仍然为nil 。如果先执行再打印y=10
 当 另一个chunk2中require该chunk1时:
chunk2:



注意一下几点:1.require只会执行一次(dofile会每次执行,loadfile只加载不执行)
2.可以访问到的变量:x=10,m=nil(local访问不到) y=nil(无论函数提不提前执行都为nil,我的理解是y在function代码块里的全局变量,能够在该chunk里访问到,却不能在另一个外部访问。而x为该chunk里的全局变量,所以可在外部访问到。)

三,当执行chunk1中的testPrint()函数时是会执行smallfunction方法。但如果把samllfunction放在下面testPrint方法下面:这里可以把函数当成一个变量就容易理解了。全局变量不需要声明。而局部变量需要加个local(暂时这么理解)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: