Lua 语言学习笔记摘要。
运行LUA脚本
lua -e 'block'
lua -i file.lua
lua -lfile1.lua -lfile2.lua
lua file.lua
LUA基本语法知识
(1)if expr1 then
do...
elseif expr2 then
do...
else
do...
end
for k,v in pairs(t)
do
do...
end
for i,v in ipairs(t) --util first t[i]==nil
do
do...
end
while expr
do
do...
end
repeat
do...
until expr
--definition of a block
do
do...
end
break/return can only appear in the end of a block
'do return end' can be used when debugging
dofile file.lua
(2)迭代器
pairs 迭代所有元素
ipairs 迭代数组,1...n 上第一个nil的元素
(3)function called
when a func. only one argument(string or table), () can be emited
f(n) <--> f n e.g. print(n) <--> print n
(4)可变参数 ...
f(a, b, ...)
table arg
arg num arg.n
e.g.
f(1,2,3,4,5,6,7) ----- a=1, b=2, arg={3,4,5,6,7;n=5}
(5)table {}
uniform index {[?]=?}
number index {'a', 'b', 'c'}
<---> {[1]='a', [2]='b', [3]='c'}
record index {x='a', y='b', z='c'} <---> {['x']='a', ['y']='b', ['z']='c'}
(6)table.sort(t, func)
e.g.
t = {'a', 'b', 'c', 'd'}
table.sort(t, function(x,y) return x<y end)