gpt4 book ai didi

从 C API 在 Lua 中创建简单列表

转载 作者:太空宇宙 更新时间:2023-11-04 04:28:39 27 4
gpt4 key购买 nike

我正在尝试在能够运行此 lua 代码的 C 中实现 dir() 函数:

02_dir.lua:

local function init()
for name, filetype, size in dir("Lang") do
print(name, filetype, size)
end
end

dir() C 中的实现是这样写的:

static int l_dir(lua_State *L) 
{
lua_pushstring(L, "foo");
lua_pushstring(L, "file");
lua_pushnumber(L, 11);

return 3;
}

我在运行时在 for 行收到此错误:

lua_pcall() failed: 02_dir.lua:2: attempt to call a string value

最佳答案

您的问题是您试图将返回值作为列表来处理,但它不是您所指意义上的列表。

更新您的 Lua 文件以读取:

-- Define a function
local function init()
local name, filetype, size = dir("Lang")
print(name, filetype, size)
end

-- call it :)
init()

关于从 C API 在 Lua 中创建简单列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38799107/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com