• Lua基础


    --Table当Map使用
    var={name="a",sex=1,age=18}
    
    for key,var in pairs(var) do
      print(key,var)
    end
    
    --Table当数组使用
    arr={1,1,2,3,"hello"}
    
    table.insert(arr,1,"world")
    print(table.maxn(arr))
    
    for key,var in pairs(arr) do
      print(key,var)
    end
    
    
    --复制表的方式面向对象 
    People={}
    
    function People.sayHi()
      print("hi")
    end
    
    People.sayBey=function()
      print("bye")
    end
    
    function clone(tab)
      ins={}
      for key,var in pairs(tab) do
        ins[key]=var
      end
      return ins
    end
    
    function People.new(name)
      ins=clone(People)
      ins.name=name
      return ins
    end
    
    People.sayBey=function(self)
      print("bye"..self.name)
    end
    
    
    p=People.new("Hel")
    p.sayHi()
    print(p.name)
    
    --下面两句等价
    p.sayBey(p)
    p:sayBey()
    
    
    
    --复制表的方式继承
    function copy(dist,tab)
      for key,var in pairs(tab) do
        dist[key]=var
      end
      return dist
    end
    
    Man={}
    Man.new=function(name)
      local self=People.new(name)
      copy(self,Man)
      return self
    end
    
    
    Man.sayHello=function()
      print("Man sya hello")
    end
    
    local m=Man.new("Lisi")
    m.sayHello()
    
    m:sayBey()
    
    
    --函数闭包的方式面向对象 
    function People(name)
      local self={}
    
      local function init()
        self.name=name
      end
    
      self.sayHi=function()
        print("Hi")
      end
    
      init()
      return self
    end
    
    local p=People("gg")
    p.sayHi()
    
    --函数闭包的方式继承
    function Man(name)
      local self=People(name)
    
      local function init()
    
      end
    
      self.sayMan=function()
        print("Man say"..self.name)
      end
    
      return self
    end
    
    local m=Man("g")
    m.sayMan()
    m.sayHi()
  • 相关阅读:
    python pyinotify模块详解
    lastpass密码管理工具使用教程
    MAMP 环境下安装Redis扩展
    SourceTree使用方法
    Mac securecrt 破解
    Memcache 安装
    Warning: setcookie() expects parameter 3 to be long, string given
    SQLSTATE[HY000] [2002] Connection refused
    插件管理无法访问
    光栅化渲染器
  • 原文地址:https://www.cnblogs.com/ggzone/p/10121270.html
Copyright © 2020-2023  润新知