是否有一个简短的"if/then"语法可用于Lua(我专门使用Corona SDK),就像在其他一些语言中一样...特别是沿着这样的方向:
res = (a == b) ? "It worked" : "It did NOT work"
Run Code Online (Sandbox Code Playgroud)
常见的习惯用法是使用和/或构造,因为布尔表达式在Lua中是短路的.
res = a == b and "It worked" or "It did NOT work"
Run Code Online (Sandbox Code Playgroud)
虽然我个人更喜欢if/then/else几乎在所有情况下.
是的,有一些用例.见http://lua-users.org/wiki/TernaryOperator
经常使用且强烈推荐的解决方案是以与三元运算符非常接近的方式组合和和或二元运算符:
Run Code Online (Sandbox Code Playgroud)x = a and b or c x = a and b or c and d or e
但是,这仅在if语句的主体是表达式时有效.例如,以下内容无效:
x == 3 and break else continue
Run Code Online (Sandbox Code Playgroud)