注释: —
–[[
多行注释
–]]
标识符
最好不使用下划线加大写字母的标识符 区分大小写
全局变量
默认情况下 变量总是全局的
数据类型
和php类似市弱类型,变量类型根据赋值情况改变
nil | 表示一个无效的值 |
boolean | |
number | 双精度浮点 |
string | |
function | C 或 lua编写的函数 |
thread | 标识执行的独立线程 |
table | 类似关联数组 最简单构造表达式是{} 用来创建一个空表 |
lua在表里的默认初始索引一般为1
线程
lua里最主要的线程是协同程序: 有自己独立的栈、局部变量和指令指针,
线程跟协程的区别:线程可以同时多个运行,协程只能运行一个, 并且处于运行状态的协程只有被挂起时才会暂停。
userdata 自定义类型
可以将任意C/C++的任意数据类型的数据存储到lua变量中调用
变量
变量在使用前需要进行声明(创建变量)
三种类型: 全局变量 局部变量 表中的域
局部变量: local a = 1
赋值
多变量同时赋值: a,b = 10, 20
索引
t[i] t.i 索引为字符串类型时的简化写法
Lua循环
for var=exp1,exp2,exp3 do
<执行体>
end
意思是 var 从exp1 开始 变化至 exp2终止 步长为exp3 exp3可选默认为1
while(condition)
do
statements
end
执行循环直到 condition为true停止
repeat
statements
until(condition)
lua 允许循环中嵌套循环
流程控制
–[0为true lua认为false和nil为假 true和非nil为真]
if(0)
then
print(“0 为true”)
else
print(“没有进入”)
end