Lua中文教程
第三章 表达式
仅有nil 和 false是空 其他都为true 0也是true
a and b --如果a为false,则返回a,否则返回b
a or b --如果a为true,则返回a,否则返回b
and 优先级比 or高
例:
4 and 5 --5
nil and 13 -- nil
false and 13 -- false
4 or 5 --4
false or 5 --5
--当x为false 或 nil 时 给x复制v
if not x then
x = v
end
--等价于
x = x or v
(..)字符串连接 如果操作数为数字,将数字转字符串
第四章 基本语法
赋值语句
a,b = 10 , 2*x -- a = 10; b = 2*x
交换赋值
x , y = y , x
a. 变量个数>值的个数 按变量个数补足nil
b.变量个数<值的个数 多余的值被忽略
常出错
a,b,c = 0 -- 0,nil,nil
1 )for循环
for var = exp1,exp2,exp3 do
loop-part
end
1 exp1 ,exp2,exp3 只会被计算一次 且在循环开始前 exp3通常被省略且默认为1
2 var仅在循环内有效
3 循环过程中不要改变控制变量的值 如要退出,使用break
2)泛型for
第五章 函数
指定任务 返回值
调用函数,参数列表为空也必须用()表明是函数调用
但是存在例外是当函数只有一个参数且这个参数是字符串或者表勾走的时候,()可选
print“Hello World” -- print("Hello World")
f{x = 10, y = 20} -- f({x = 10 ,y = 20})
type{} -- type({})
lua中函数复制和赋值语句中差不多 多余忽略缺少nil补齐
命名参数
可变参数