Lua中是否有短语“if / then”语法(我专门使用Corona SDK),就像其他一些语言一样......特别是沿着以下几行:
res = (a == b) ? "It worked" : "It did NOT work"
答案 0 :(得分:8)
常见的习惯用法是使用和/或构造,因为布尔表达式在Lua中是短路的。
res = a == b and "It worked" or "It did NOT work"
虽然我个人更喜欢if / then / else几乎在所有情况下。
答案 1 :(得分:7)
是的,有一些用例。见http://lua-users.org/wiki/TernaryOperator
经常使用且强烈推荐的解决方案是结合使用和 和二元运算符的方式非常接近三元数 操作者:
x = a and b or c x = a and b or c and d or e
但是,这只有在if语句的主体是表达式时才有效。例如,以下内容无效:
x == 3 and break else continue
答案 2 :(得分:-1)
lua没有短路,只有这个
a = a或“hi” 就像: 如果不是(a)那么a =“hi”结束