lua中的多个条件评估顺序和优先级

Mir*_*pas 1 lua

我需要评估一个条件,如:

condition1 and (condition2 or condition3)
Run Code Online (Sandbox Code Playgroud)

其中,condition2condition3仅应被评估condition1为真.我怎么用lua写这个?

下一个代码是否正确?

if condition1 and (condition2 or condition3) then
...
end
Run Code Online (Sandbox Code Playgroud)

Yu *_*Hao 5

来自Lua手册:

无论andor使用短切评价; 也就是说,仅在必要时评估第二个操作数.

因此,在表达式中condition1 and (condition2 or condition3),condition2 or condition3仅评估if是否condition1为true.

请注意,这也意味着在表达式中condition2 or condition3,condition3仅在if condition2为false时进行求值.