一、lua语言介绍
- lua主要负责逻辑,c代码实现功能。
- lua源代码make后生成lua和luac,lua可以运行lua文件,而luac可以生成out文件直接运行。
二、lua基本语法
- 环境ldt eclipse
- 无变量的定义,默认是全局的,局部变量前加local
- 两个‘-’是注释:“- -”
- 例子
function max(a, b)
if a > b then
return a
else
return b
end
end
for var = 1, 100
print(var)
end
二、lua基础之表
kv型,有点Redis的感觉。
Config = {hello = "Hello lua", world = "World"}
Config.words = "hello"
Config.num = 100
Config["name"] = "Zhangsan"
print(Config.num)
print(Config["words"])
for key, var in pairs(Config) do
print(key, var)
end
三、lua基础之数组
底层也是表,但是索引从1开始
arr = {1, 2, 3, "test"}
for key, var in pairs(Config) do
print(key, var)
end
for var = 1,100 do
table.insert(arr, 1, var) ##第二个参数是位置
end
table.maxn(arr) ## 返回大小:100
四、表方式面向对象
- 可利用表的KV特性进行对象的创建,V可以是函数;通过键值对的复制,再对表添加新内容实现类的继承。
- 对于函数func(self)而言,self::func()和func(self)是相同的
- print中可以用. .进行字符连接
local val = 3
print("hello"..val)
五、函数闭包方式面向对象
- 在表征类函数内进行局部表的创建,最终返回该表
- 类函数内定义局部init函数
- 继承也是用一个新的函数,函数内调用父类的函数建立表,后面再添新的KV即可