跳转至

Lua


安装

Bash
1
2
3
#例如ubuntu下安装5.4版本
sudo apt install lua5.4
#或自行编译源码

文件格式

文件以lua结尾
开头指定解释器#!/usr/bin/lua

注释

行数 语法
单行注释 --
多行注释 --[[
注释
]]--

标识符

字母数字下划线
字母下划线开头

变量

变量默认是全局
函数外或函数内默认都是全局
使用local关键字指定局部变量
变量的默认值均为 nil

数据类型

数据类型 描述
nil 表示一个无效值(在条件表达式中相当于false)
boolean false和true
number 双精度类型的实浮点数
string 双引号单引号表示
[[]]表示字符块
function 由 C 或 Lua 编写的函数
userdata 任意存储在变量中的C数据结构
thread 执行协同程序
table 关联数组(associative arrays)
数组的索引可以是数字、字符串或表类型
{}表示创建空表

循环

Lua
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
while(condition)
do
    --do something
end

repeat
    --do something
until(condition )

for var=exp1,exp2 do
    --do something
end  

--泛型 for 循环通过一个迭代器函数来遍历所有值
a = {"one", "two", "three"}
for i, v in ipairs(a) do
    print(i, v)
end 

--跳出循环
break
--跳转
::label:: --do something
    goto label   --跳转到label

流程

Lua
1
2
3
4
5
6
7
8
if (0)
then
    --do something
elseif
    --do something
else
    --do something
end