一,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)