一 、变量:
Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table
lua 变量默认为全局类型,若要定义全局类型须前缀local, 如 local a = 10;
二、语法:
1. 循环 (注:可以使用break语句跳出循环)
-- 初始化值,最大/最小值, 增量
for i = 2, 0, -1 do
print(i);
end
-----------------------------------
for i = 1, 3 do
print('for 循环 i =',i);
end
-----------------------------------
b = 3;
while (b > 0) do
print('while循环 b =',b);
b = b - 1;
end
-----------------------------------
b = 0;
repeat
print('repeat b =', b);
b = b + 1;
until(b > 3)
2.流程控制
注意: 0 在lua中代表true,与c等其他传统语言不同
--[ 定义变量 --]
a = 100;
--[ 检查条件 --]
if( a < 20 )
then
--[ if 条件为 true 时执行该语句块 --]
print("a 小于 20" )
else
--[ if 条件为 false 时执行该语句块 --]
print("a 大于 20" )
end
print("a 的值为 :", a)
3.函数
optional_function_scope 函数执行范围(默认为全局函数,可修改为local)
function_name 函数名
结构如下:
optional_function_scope function function_name( argument1, argument2, argument3..., argumentn)
function_body
return result_params_comma_separated
end
lua 中函数可以作为变量使用
myprint = function (a) {
print('myprint:'..a);
}
lua 中函数可以返回多个值
function maximum (a)
local mi = 1 -- 最大值索引
local m = a[mi] -- 最大值
for i,val in ipairs(a) do
if val > m then
mi = i
m = val
end
end
return m, mi
end
print(maximum({8,10,23,12,5}))
max,min = maximum({8,10,23,12,5});
可变参数
Lua 函数可以接受可变数目的参数,和 C 语言类似,在函数参数列表中使用三点 ... 表示函数有可变的参数
function sum (...)
local arg = {...} --> arg 为一个表,局部变量
local result = 0
for i,v in ipairs(arg) do
result = result + v
end
return result
end