文章目录
一,Table
1,list模式
-- list模式 text2 = {1, 2, 3, 4} text2[2] = nil text2[4] = nil table.insert(text2, "in") table.remove(text2, 2) --print(#text2) --print(getn(text2))
2,record模式
-- record模式 text = {a = 1, b = 2, c = 3, d = 4, 555, u1 = 90} --print(text.b) --print(text["b"]) --print(table.maxn(text)) --print(#text) --text.b = nil -- 正确 --text["b"] = nil -- 正确 --print(#text) text[123] = 111 print(text[1]) print(#text)
3,混合模式
text={1,c=2,3,4,ul=5,9} for k,v in pairs(text) do print(k,v) end
没有k的会按顺序自动编号
二,面向对象
例子演示bclass继承aclass
aclass = {} -- 命名空间 aclass.eat = function() print("My name is eat") end aclass.new = function() local object = {} --setmetatable(object, aclass) --aclass.__index = aclass --aclass.__index = function(table, key) return aclass[key] end setmetatable(object, {__index = aclass}) return object end local bclass = aclass.new() bclass.eat2 = function() print("BClass eat") end bclass.new = function(a) local object = {} --setmetatable(object, bclass) --bclass.__index = bclass setmetatable(object, {__index = bclass}) return object end a = aclass aclass = nil local cvar = bclass.new(); cvar.eat(); cvar.eat2(); --bclass.new(bclass,a) --bclass:new(a)