现在的位置: 首页 > 综合 > 正文

lua学习初探【二】

2017年12月22日 ⁄ 综合 ⁄ 共 1015字 ⁄ 字号 评论关闭
文章目录

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

抱歉!评论已关闭.