lua 快速了解
介绍
Lua is free software distributed in source code. It may be used for any purpose, including commercial purposes, at absolutely no cost.
Lua是以源代码形式发布的自由软件。它可以用于任何目的,包括商业目的,绝对免费。
源码 基于标准C 使用make 编译安装,
本地使用版本 5.4.2
帮助文档
基本语法举例
--- 注释
--- 全局变量
run = 100
--- 局部变量
local age = 30
print(run)
print(age)
--- 方法体
function SayHello(content)
print(content)
end
--- 调用
SayHello("lua")
--- if条件
function Max(a, b)
if a > b then
return a
else
return b
end
end
print(Max(3,4))
--- for 循环
for i=1, 10 do
print(i)
end
基础内容
表table
个人理解 键值对、字典、数组
Config = {}
Config.age = 30
Config.class = "Lua"
Config["name"] = "ilua"
LocalConfig = {hello = "hello ", world="world"}
for key, value in pairs(Config) do
print(key, value)
end
数组
索引从1开始
数组 定义形式 同表
使用系统方法table 来进行数组的相关操作
--- 定义数组
--- Age = {}
Age = {1,2,3,4}
print(Age)
--- 循环读取数字变量 以及索引,
-- for key,value in pairs(Age) do
-- print(key, value)
-- end
--- 插入数据
for var=1, 10 do
table.insert(Age, 5, var)
end
for key,value in pairs(Age) do
print(key, value)
end
--- 计算长度
print(table.maxn(Age))
对象 继承
function NewPeople(tab)
local ins = {}
for key, value in pairs(tab) do
ins[key] = value
end
return ins
end
People = {}
-- 构造函数
People.New = function (name)
local self = NewPeople(People)
self.name = name
return self
end
function People.sayHello(self, content)
print(self.name.." say: "..content)
end
-- local p = NewPeople(People)
-- p.sayHello("你好")
local cc = People.New("张三")
--- 执行
cc:sayHello("你好")
function Copy(dist, tab)
for key, value in pairs(tab) do
dist[key] = value
end
end
-- man 继承 people
Man = {}
Man.sayHi = function (self)
print(self.name.."man say hi")
end
Man.New = function (name)
local self = People.New(name)
Copy(self, Man) -- 在本次实例中将父类self的属性中附加MAN 自身的属性
return self
end
m = Man.New("liff")
m:sayHello("是你")
m:sayHi()