这句语法是错误的。and前必须有一个条件。and和or的混合使用类似C语言的三目运算符。比如C语言的 max = a > 0 ? x : y;对应的Lua就是 max = a > 0 and x or y;需要补充一句的是,max = a and x or y;这也是成立的,等价于 max = (a ~= nil and a ~= false) and x or y;
and是双目运算符