LUA遇到的问题

下面是我在写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

      {

      }

       

未完....