Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File io Lua不生成函数表(IO API)_File Io_Lua_Lua Table - Fatal编程技术网

File io Lua不生成函数表(IO API)

File io Lua不生成函数表(IO API),file-io,lua,lua-table,File Io,Lua,Lua Table,我在Lua做一个基础项目。我一直试图使用IOAPI(定义)从文件中获取数据,但是当我打开一个文件并给它一个句柄时,它似乎没有返回函数表 代码的(错误位): 您在第一行看到的fs是IO API的专业文件系统包装器,不是我的作品,完全没有错误,所以这不是问题所在。但是,当我尝试读取文件(handle:read())时,它抛出“尝试索引nil”。跟踪它,结果是handle本身是nil。有什么想法吗?io.open成功时返回一个文件句柄,失败时返回nil并显示错误消息(根据Lua参考手册)。这意味着您确

我在Lua做一个基础项目。我一直试图使用
IO
API(定义)从文件中获取数据,但是当我打开一个文件并给它一个句柄时,它似乎没有返回函数表

代码的(错误位):


您在第一行看到的
fs
是IO API的专业文件系统包装器,不是我的作品,完全没有错误,所以这不是问题所在。但是,当我尝试读取文件(
handle:read()
)时,它抛出“尝试索引nil”。跟踪它,结果是
handle
本身是
nil
。有什么想法吗?

io.open成功时返回一个文件句柄,失败时返回nil并显示错误消息(根据Lua参考手册)。这意味着您确实应该使用

handle, err = io.open(file, 'r')
if handle == nil then 
    print('could not open file:', file, ':', err)
    return
end
local text = handle:read("*a")
...

错误消息将告诉您是否没有读取该文件的权限,或者是否存在其他问题

尝试
打印(文件)
以查看它是否只是文件名或文件的整个路径。由于@hjpotter92指示
文件
是否为有效路径,则
句柄
应为非零,前提是您有权读取该文件。如果路径不正确或不完整(例如相对于
fs.list
调用中给出的路径),则在尝试打开文件之前,您需要修复
fs
库或构造正确的绝对或相对路径。@hjpotter92喜欢这个想法,我会看一看。我以为我走的路是对的,但没有意识到如果我走错了,它会把事情搞得一团糟。
handle, err = io.open(file, 'r')
if handle == nil then 
    print('could not open file:', file, ':', err)
    return
end
local text = handle:read("*a")
...