1、脚本
创建文件:HelloWorld.lua,内容如下:
print(“Hello World!”)
执行脚本:lua HelloWorld.lua
2、注释
单行注释(两个减号):
– 注释
多行注释:
–[[
多行注释
多行注释
–]]
3、变量
- 变量不需要事先申明
- 变量默认为全局变量,若在赋值时,指定了 local,则为局部变量:
local b = 5
- 删除变量,只需将变量赋值为nil:
b = nil
4、数据类型:table
索引访问:
t[i]
t.i 当索引为字符串类型时的一种简化写法
gettable_event(t,i) 采用索引访问,本质上是一个类似这样的函数调用
例:
site = {}
site["key"] = "www.runoob.com"
print(site["key"])
print(site.key)
5、循环
1、
while(condition)
do
statements
end
2、
for var=exp1,exp2,exp3 do
<执行体>
end
var 从 exp1 变化到 exp2,exp3 为 var 每次递增步长,可选,如果不指定,默认为1。
例:
for i=1,f(x) do
print(i)
end
3、
repeat
statements
until( condition )
6、流程控制
if( 布尔表达式 1)
then
-- 语句 1
elseif( 布尔表达式 2)
then
-- 语句 2
elseif( 布尔表达式 3)
then
-- 语句 3
else
-- 语句 4
end
7、函数
[local] function 函数名(参数1, 参数2, ..., 参数n)
函数体
return [value_1, value_2, ..., value_n]
end
注:
- 默认为全局函数,若指定了 local,则为局部函数。
- 可变参数:…,例:function add(…) 。在函数内部使用 select("#",…) :返回可变参数的长度,select(n, …):返回第n个可变参数的值(n从1开始)。
8、运算符
算数关系运算符:
- ^ ,乘幂,如:A^2;
- -,负号,如:-A
关系运算符:
- ~=,不等于。
逻辑运算符:
- and;
- or;
- not。
其他运算符:
- …,连接两个字符串,如:a 为 "Hello ",b 为 “World”,则 a…b 输出结果为 “Hello World”;
- #,返回字符串或表的长度,如:#“Hello” 返回 5。
9、数组 与 table
array = {“Lua”, “Tutorial”}
mytable = {“wow”:“修改后”, }
10、模块
加载模块:
require “<模块名>”