Lua中的多个返回值
之前遇到过这个问题。 对于多返回值函数Lua中的多个返回值,lua,Lua,之前遇到过这个问题。 对于多返回值函数 fn=function() return 'a','b' end 电话 print(fn())返回ab 但是电话 print(fn()或nil)仅返回a 为什么?或不重要,因为第一次呼叫成功,对吗?从 Lua总是根据调用的情况调整函数的结果数。当我们将函数作为语句调用时,Lua将丢弃函数的所有结果当我们将调用用作表达式时,Lua只保留第一个结果。只有当调用是表达式列表中的最后一个(或唯一)表达式时,我们才能获得所有结果 在本例中,fn()的返回值用作表达
fn=function() return 'a','b' end
电话
print(fn())
返回ab
但是电话
print(fn()或nil)
仅返回a
为什么?<代码>或不重要,因为第一次呼叫成功,对吗?从
Lua总是根据调用的情况调整函数的结果数。当我们将函数作为语句调用时,Lua将丢弃函数的所有结果当我们将调用用作表达式时,Lua只保留第一个结果。只有当调用是表达式列表中的最后一个(或唯一)表达式时,我们才能获得所有结果
在本例中,fn()
的返回值用作表达式(或
运算符的左操作数),因此只保留第一个值