1
我想实现用C dir()
功能能够运行这个Lua代码:创建简单的列表
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;
}
我在上得到这个错误行运行时:
lua_pcall() failed: 02_dir.lua:2: attempt to call a string value
包括你注册'l_dir'的行。 – a3f
如果以这种方式调用,dir应该是一个迭代器函数,返回一个表并使用'pair'将执行相同的工作。 – zzn