下面是我在写LUA脚本过程中遇到的问题
1----------------------------------------------------------------
local t = {}
t[1] = 10
t[3] = 20
t[4] = 30
print(table.getn(t))
结果 : 4
LUA 中的 table.getn 函数是根据下标数来设定的 , 上面LUA代码中 "t[4] = 30" 下标为 4。则 table.getn(t) 的结果为4.
如果在 LUA 脚本中要获取 TABLE 大小时,要 "for k, v in pairs(t) do ... end" 方法。
即:
function GetTableCount( t )
local count = 0
for k, v in pairs( t ) do
count = count + 1
end
return count
end
print( GetTableCount( t ) )
result : 3
2----------------------------------------------------------------
LUA中产生指定范围内的随机数
方法 :
local randomNumber = {} -- 表【rangeBegin, rangeEnd】
randomNumber = { math.random(beginNum, endNum), math.random(beginNum, endNum) }
3----------------------------------------------------------------
LUA中类
方法:
_index 键名; metatable 方法
local SceneData = { data = 0 }
function SceneData:new()
local o = {}
-- 下面相当于 C++ 继承, o 继承 SceneData, 这里的 self 相当于 SceneData, self._index = self 就是 SceneData 指向自己。
setmetatable( o, self )
self._index = self
end
这个就是相当于 C++ 中的
// self._index = self (自己指向自己, 父类)
class SceneData
{
public:
int m_data;
}
// setmetatable( o, self )
class o : public SceneData
{
}
未完....