• 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

          {

          }

           

    未完....

  • 相关阅读:
    服务器编程入门(12) 守护进程
    Effective C++(10) 重载赋值操作符时,返回该对象的引用(retrun *this)
    C++ Primer(6) 模板和泛型编程(上)
    Effective C++(9) 构造函数调用virtual函数会发生什么
    Android开发(7)数据库和Content Provider
    Effective C++(7) 为多态基类声明virtual析构函数 or Not
    Effective C++(6) 如何拒绝编译器的自动生成函数
    Effective C++(4) 确定对象被使用前已先被初始化
    Effective C++(5) 了解C++默默地编写并调用哪些函数
    Effective C++(1-2) 编译器替换预处理器
  • 原文地址:https://www.cnblogs.com/kupig/p/2777353.html
Copyright © 2020-2023  润新知