1.基本語(yǔ)法
a= 5; -- 全局變量
print(a)
local a = 6; -- local局部變量
print(a)
-- if用法 獲得最大值
function max(a,b)
if a>b then
return a
else
return b
end
end
print(max(2,3))
-- for循環(huán)
for var=1, 5 do
print(var)
end
2.表
config = {a="a",b=17} -- 定義時(shí)候賦值
config.name = "hello"
config.num = 13
-- 點(diǎn)跟中括號(hào)是一樣
config["score"] = 78
print(config.a)
print(config.name)
print(config["score"])
for key, var in pairs(config) do
print(key,var)
-- a a
--num 13
--name hello
--b 17
--score 78
end
3.數(shù)組
arr = {1,2,3,"hello"} -- 數(shù)組角標(biāo)是從1開(kāi)始,不是從0
4.面向?qū)ο笾畯?fù)制表的方式面向?qū)ο?/h4>
-- 復(fù)制
function clone(tab)
local ins = {}
for key, var in pairs(tab) do
ins[key] = var
end
return ins
end
function copy(dist,tab)
for key, var in pairs(tab) do
dist[key] = var
end
end
-- People類
People = {}
People.sayHi = function ()
print("People say hi")
end
People.sayHi2 = function (self)
print("People say hi :"..self.name) -- ..表示字符串拼接
end
-- 構(gòu)造方法
People.new = function (name)
local self = clone(People)
self.name = name
return self
end
local p = clone(People)
p.sayHi() -- People say hi
local p1 = People.new("zhangsan")
p1.sayHi2(p1) -- People say hi :zhangsan
-- 類的繼承
Man = {}
Man.new = function (name)
local self = People.new(name)
-- man的所有鍵值對(duì)都賦值到people上面,就相當(dāng)是一個(gè)繼承的概念
copy(self,Man)
return self
end
local m = Man.new("man")
m.sayHi2(m) -- People say hi :man
5.面向?qū)ο笾瘮?shù)閉包的方式面向?qū)ο?/h4>
function People(name)
local self = {}
local function init()
self.name = name
end
self.sayHi = function ()
print("People say hi :"..self.name)
end
init()
return self
end
local p = People("zhangsan")
p.sayHi() -- People say hi :zhangsan
function Man(name)
local self = People(name)
self.sayHi1 = function ()
print("Man say hi :"..self.name)
end
return self
end
local m = Man("man")
m.sayHi() -- People say hi :man
m.sayHi1() -- Man say hi :man
-- 復(fù)制
function clone(tab)
local ins = {}
for key, var in pairs(tab) do
ins[key] = var
end
return ins
end
function copy(dist,tab)
for key, var in pairs(tab) do
dist[key] = var
end
end
-- People類
People = {}
People.sayHi = function ()
print("People say hi")
end
People.sayHi2 = function (self)
print("People say hi :"..self.name) -- ..表示字符串拼接
end
-- 構(gòu)造方法
People.new = function (name)
local self = clone(People)
self.name = name
return self
end
local p = clone(People)
p.sayHi() -- People say hi
local p1 = People.new("zhangsan")
p1.sayHi2(p1) -- People say hi :zhangsan
-- 類的繼承
Man = {}
Man.new = function (name)
local self = People.new(name)
-- man的所有鍵值對(duì)都賦值到people上面,就相當(dāng)是一個(gè)繼承的概念
copy(self,Man)
return self
end
local m = Man.new("man")
m.sayHi2(m) -- People say hi :man
function People(name)
local self = {}
local function init()
self.name = name
end
self.sayHi = function ()
print("People say hi :"..self.name)
end
init()
return self
end
local p = People("zhangsan")
p.sayHi() -- People say hi :zhangsan
function Man(name)
local self = People(name)
self.sayHi1 = function ()
print("Man say hi :"..self.name)
end
return self
end
local m = Man("man")
m.sayHi() -- People say hi :man
m.sayHi1() -- Man say hi :man