【转载】Lua脚本语法说明,修订

原文:http://www.cnblogs.com/ly4cn/archive/2006/08/04/467550.html

挑出来几个

.逻辑运算
    and, or, not
    其中,and 和 or 与C语言区别特别大。
    在这里,请先记住,在Lua中,只有false和nil才计算为false,其它任何数据都计算为true,0也是true!
    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


    在Lua中这是很有用的特性,也是比较令人混洧的特性。
    我们可以模拟C语言中的语句:x == a? b : c,在Lua中,可以写成:x == a and b or c。
    最有用的语句是: x = x or v,它相当于:if not x then x = v end 。