加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Lua基础

发布时间:2020-12-14 21:59:39 所属栏目:大数据 来源:网络整理
导读:--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, "world" ) print ( table .maxn(arr)) for key,var in pairs (arr) do pri
--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,"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()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读