Lua   发布时间:2022-04-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Lua – 我怎么能获得任何回报?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有兴趣抓取函数的任何返回格式.例如
function foo()
  return 1
end

local result = foo() -- foo is numeric 1

function foo()
  return {1,2,3}
end
local result1,result2,result3 = foo()
local result = foo() -- this is bad as result is `1` but `2` and `3` are lost

function foo()
  return 1,3
end
local result = foo() -- foo is a table with all the numbers,that's ok

我正在构建一个将使用代理函数覆盖函数的分析器,但我需要知道返回的数据,然后检查它的type()并相应地访问`但是从代码可以看出我无法访问所有3种情况一种方法.有没有 ?

解决方法

如果已知最大返回数,请使用类似的内容
v1,v2,v3 = foo()

但你无法判断foo是返回两个值还是三个,最后一个是nil.

强大的解决方案是收集表中的所有回报:

v = table.pack(foo())

然后v.n包含返回值的数量,包括所有nils.

大佬总结

以上是大佬教程为你收集整理的Lua – 我怎么能获得任何回报?全部内容,希望文章能够帮你解决Lua – 我怎么能获得任何回报?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。