为什么Lua默认使用全局变量?

我现在最喜欢的语言是Lua。我只有一个问题,为什么它的默认行为是函数中的变量是全局的?在类似的语言Icon中,有一个关键字“global”,当一个人确实想要使用全局变量而不是默认为局部变量的自然行为时使用(我五分钟前再次被这个问题所困扰)。如果有人能告诉我其中的合理性(像我知道导致Lua中缺少“continue”关键字的作用域困难),我会感到更好。

原文链接 https://stackoverflow.com/questions/3881379

点赞
stackoverflow用户107090
stackoverflow用户107090

Lua uFAQ中,查看为什么变量默认情况下不是本地作用域

当变量处于本地上下文中时,只显式声明全局变量感觉很容易。简短的回答是Lua不是Python,但实际上具有词法作用域的本地变量必须明确声明,这其中有很好的原因。请参阅维基页面

2010-10-07 12:22:58