Lua 语法 总结
所属分类 lua
浏览量 889
print("Hello world");
语句之间可以用分号隔开,也可以用空白隔开
如果多个语句写在同一行的话,建议用分号隔开
控制语句
条件控制
if 条件 then … elseif 条件 then … else … end
While循环 while 条件 do … end
Repeat循环 repeat … until 条件
For循环 for 变量 = 初值,终点值,步进 do … end
For循环 for 变量1,变量2,… ,变量N in表或枚举函数 do … end
语句块 用do 和 end
do print("Hello") end
可以同时给多个变量赋值
a,b,c,d=1,2,3,4
方便的交换变量功能
a,b=b,a
变量默认全局
局部变量加 local
local a,b,c = 1,2,3
my_table = {1,2,3}
local index = 1 -- 注意 table索引从1开始
while my_table[index] do -- 只要条件返回True,就一直执行循环
print(my_table[index])
index = index +1 -- 没有i++
end
local snum = 1 --起始值
repeat
print("snum is "..snum)
snum = snum + 1
until snum == 4 --当snum 等于 4 时 跳出循环
输出 1 2 3
for i = 1, #my_table do --#my_table 表长度
print(my_table[i])
end
for i=1,10,2 do -- 起始值 最大值, 2表示步进值( 默认1 )
print(i)
end
字符串 连接 ..
"hello " .. " world"
print(4 or 5) --4
print(false or 5) --5
关键字
and break do else elseif
end false for function if
in local nil not or
repeat return then true until while
变量类型
type()函数
空值 nil , nil既是值,又是类型
Boolean 布尔值 true 或 false
只有false和nil 为false,其他值 都是true
比如0,空串等 都是true
注意 0 也是 true !!!
local flag=0
if flag then
print('0 is true')
end
Number 数值 相当于 double
String 字符串
Table 表类型
Function 函数类型
Userdata
专门用来和Lua的宿主打交道的 ,宿主通常用C C++ 编写
Userdata可以是宿主的任意数据类型,常用的有Struct和指针
Thread 线程类型
Lua中没有真正的线程 ,可以将一个函数分成几部份运行
多行文本
local str=[[
a
b
c
]]
print(str)
Function
function add(a,b)
return a+b
end
add = function (a,b) return a+b end
可变参数
function sum (a,b,…)
sum(1,2,3,4)
可同时返回多个值
function multivalue()
return 1,2,3,4
end
a,b,c,d = multivalue()
lua语法特点
上一篇
下一篇
在线画图工具 Shapefly
lua table 排序
lua for 循环
全球ETF行业发展2020年度报告
c语言整数进制
C语言猜数字