当我用lua和lua检查两个条件时,哪个方式的运行时间更快?
if bool and somefuntion() then
do stuff
end
或
if bool then
if somefuntion() then
do stuff
end
end
答案 0 :(得分:10)
在两个片段上运行luac -l -p
,您将看到它们生成完全相同的字节码。所以写一些更清楚的东西。
它们相同的原因是Lua对和以及或进行了短路评估,如OllieB所述。
答案 1 :(得分:5)
Lua懒惰的评估,所以它应该没有区别。
c / c ++中的短路逻辑和(&& )效果相同