构建表
构造器是创建和初始化表的表达式。表是 Lua 特有的功能强大的东西。最简单的构
造函数是 {},用来创建一个空表。可以直接初始化数组:
表的序号从 1 开始,并非 0。
Ps:假如空引用,lua 也不会报错,会输出 nil。
local numbers={1,2,3,4,5,6,7,8,9,0} | |
print("numbers数据:"..tostring(numbers[1])) -- 输出 1 |
构建自定义对象
local arr={} | |
arr.name='xiao' | |
arr.age=16 | |
print('arr的数据:'..' name:'..arr.name..' age: '..arr.age) |
表的组成
表,可以包含任何类型的元素,也可以嵌套
arr={x=0,tip='text',func=print} |
构造注意事项
如果真的需要索引从 0 开始:
Ps:极力不推荐这么做,这么做将不能使用很多标准库。
arr={[0]="Sunday","Monday","Tuesday"} |
在构造表时既可以使用,
分隔元素也可以使用;
分隔元素。
流程控制
我们来看看 lua 中的流程控制语法~
分支
在 lua 中,每一个代码块的结束都要以end结尾(有点 c++ 的味道)
if 3>0 then | |
print('A') | |
end | |
if false then | |
print("AAA") | |
else | |
print("BBB") | |
end | |
local a=8 | |
if a>8 then | |
print('a>8') | |
elseif a>5 then | |
print('a>5') | |
elseif a>3 then | |
print('a>3') | |
else | |
print('不满足') | |
end |
循环
使用步长 for 循环(可省略步长,默认为 1)
-- for 循环 | |
-- 1 起点 10 终点 2 步长 | |
for i = 1, 10, 2 do | |
print('正向数据为:'..i) | |
end | |
for i = 10, 1,-1 do | |
print('负向数据为:'..i) | |
end |
Ps:在循环中不要改变控制变量的值,如果需要跳出循环可以使用break
关键字。
使用 for 循环遍历表:
arr={"Sunday","Monday","Tuesday"} | |
for key, value in pairs(arr) do | |
print(key..' '..value) | |
end |
while 循环
local a=5 | |
while a>0 do | |
print(a) | |
a=a-1 | |
end |