Lua的需求函数可以返回多个结果吗?

前端之家收集整理的这篇文章主要介绍了Lua的需求函数可以返回多个结果吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
可以创建一个通过require函数返回多个结果的Lua模块?我正在为package.loaders编写一个扩展名,我想知道是否需要支持这样的行为.

例如,使用以下模块,名为mod.lua:

print("module loading")
return "string1","string2"

以下脚本需要哪些:

print("running script")
s1,s2 = require("mod")
print("s1: " .. tostring(s1))
print("s2: " .. tostring(s2))

结果如下输出

running script
module loading
s1: string1
s2: nil

当我期望第二个字符串被返回.我不是想使用这样的行为,我意识到你可以通过返回一个表并解包来复制它,我只是想知道它是否意味着工作(因为它是有效的Lua语法),我找不到在这个任何地方的确定答案.

解决方法

Lua 5.1.3 需要在loadlib.c文件中的静态int ll_require(lua_State * L)中实现lua导出.此函数总是返回1作为堆栈上返回值的数量.
原文链接:https://www.f2er.com/lua/274606.html

猜你在找的Lua相关文章