lua变量作用域

bigblacktree3 2014-03-04 09:42:28
最近学lua,对他用local来区分是局部变量还是全局变量很是不解,为什么不用作用域来区分呢,用一个关键字来区分是什么变量怎么看都觉得混乱,比如:
local a=10
function add(m,n)
return m+n
end
print(add())
这里a怎么看都不像是局部变量啊,说他是局部变量,怎么看都别扭,而且这里local写不写没区别啊
...全文
303 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
coderchenjingui 2014-03-22
  • 打赏
  • 举报
回复
引用 1 楼 panghuhu250 的回复:
在有些语言(如lua,python)中,变量是不用声明的,所以仅仅从a=1你看不出a是一个新的局部变量或者是一个当前作用域外的变量。在c中则有"int a=0;"与"a=0"的区别。 lua的缺省设定是a是全局变量,所以需要local关键字。 python的缺省设定是建立新变量,所以有关键字global。
学习了
zx119koko 2014-03-05
  • 打赏
  • 举报
回复
那是因为你还只在一个脚本文件里面写代码. 等你同时写多个脚本文件之后就会知道区别了
panghuhu250 2014-03-05
  • 打赏
  • 举报
回复
在有些语言(如lua,python)中,变量是不用声明的,所以仅仅从a=1你看不出a是一个新的局部变量或者是一个当前作用域外的变量。在c中则有"int a=0;"与"a=0"的区别。 lua的缺省设定是a是全局变量,所以需要local关键字。 python的缺省设定是建立新变量,所以有关键字global。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧