lua:声明一个表来“托管”所有图形元素是一种不好的做法吗?

我从未学过“学术”编程,所以希望我的问题不是愚蠢的。

为了解决变量的局部/全局声明问题,我养成了在文件开头创建本地表来托管所有未来对象的习惯:

local g = {}
g.myRectangle = display.newRect(...)
g.myImage = display.newImg(...)

这是个不好的做法吗?我怀疑它会减慢整个应用程序的速度,但我不确定。毕竟,我的所有变量都是local的。

点赞
用户114226
用户114226

只要您的用例不超出范围,我看不出您的代码与以下代码之间的语义差别:

local gMyRectangle = display.newRect(...)
local gMyImage = display.newImg(...)

如果按照您的方式,您可能会将表传递给函数,并且这将有更少的参数(您将传递整个表的一个引用)。但是,由于它们都是全局的,可能不需要将其传递给函数。

这可能会对性能产生影响,因为在访问变量时需要(额外的)表查找。这取决于表中有多少对象。(请在http://lua-users.org/wiki/OptimisationCodingTips中了解更多信息)。

2014-11-03 13:23:18