lua and or 操作
a and b
如果a为false,则返回 a;否则返回 ba or b
如果 a 为 true,则返回 a;否则返回 b
C语言中的语句:x = a? b : c
,在Lua中可以写成:x = a and b or c
存在的问题
1 | debug = 0(or 1) |
则无论 debug 取 0 还是 1,step 输出都是 0
当 debug 为0
1
20 and 0 = 0
0 or 80 = 0当 debug 为 1
1
20 and 0 = 0
0 or 80 = 0
错误原因
lua将 0 认为是 true
解决方法
定义 debug = true or false
1
step = debug and 0 or 80
则当 debug 为 false 时候,step 为 80