【Lua语法要点2】
1、Lua函数
function 可以添加 local 关键字。添加后为局部函数,不添加(默认)为全局函数。return 可以返回多个返回值,以, 分隔。
使用 ... 来表示变长参数。
function add(...)
local s =
for i, v in ipairs{...} do --> {...} 表示一个由所有变长参数构成的数组
s = s + v
end
return s
end
print(add(,,,,)) --->25
通过 select("#",...) 来获取可变参数的数量:
function average(...)
result =
local arg={...}
for i,v in ipairs(arg) do
result = result + v
end
print("总共传入 " .. select("#",...) .. " 个数")
return result/select("#",...)
end print("平均值为",average(,,,,,))
- select(n, …) 用于访问 n 到 select('#',…) 的参数
do
function foo(...)
for i = , select('#', ...) do -->获取参数总数
local arg = select(i, ...); -->读取参数
print("arg", arg);
end
end foo(, , , );
end
2、for循环
var 从 exp1 变化到 exp2,每次变化以 exp3 为步长递增 var,并执行一次 "执行体"。exp3 是可选的,如果不指定,默认为1。
for var=exp1,exp2,exp3 do
<执行体>
end
for的三个表达式在循环开始前一次性求值,以后不再进行求值。比如上面的f(x)只会在循环开始前执行一次,其结果用在后面的循环中。
#!/usr/local/bin/lua
function f(x)
print("function")
return x*
end
for i=,f() do print(i)
end
function
3、运算符。
^ 是指数运算符,如 10^2 = 100。
~= 是不等于运算符,同C++中的 !=。
逻辑运算符全部采用英文单词来表示。
其他运算符
4、
5、
6、
7、
8、
9、