我之前遇到了这个问题。
对于一个多返回值函数。
fn=function() return 'a','b' end
调用
print(fn())
返回 a b
但是调用
print(fn() or nil)
只返回 a
为什么?由于第一个调用成功了,所以or
不应该有影响,对吧?