标签:
1. 在控制结构的条件中除了 false 和 nil 为假,其他值都为真。所以 Lua 认为 0 和空串都是真.
2. Lua 中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串.
3. ..在 Lua 中是字符串连接符,当在一个数字后面写..时,必须加上空格以防止被解释错.
4. and 和 or 的运算结果不是 true 和 false,而是和它的两个操作数相关.
a and b --如果a为false,则返回a,否则返回b a or b --如果a为true,则返回a,否则返回b
print(4 and 5) --> 5 print(nil and 13) --> nil print(false and 13) --> false print(4 or 5) --> 4 print(false or 5) --> 5
一个很实用的技巧:如果 x 为 false 或者 nil 则给 x 赋初始值 v x = x or v 等价于 if not x then x = v end
C 语言中的三元运算符 a ? b : c 在 Lua 中可以这样实现: (a and b) or c
标签:
原文地址:http://my.oschina.net/surjur/blog/482115