und*_*ned 1 io lua fopen file fclose
假设我想将passwd内容存储在一个变量中,就像这样:
local passwd = io.open('/etc/passwd', 'r'):read('a')
Run Code Online (Sandbox Code Playgroud)
我读完后没有关闭文件可以吗?我应该像这样重写它:
local f = io.open('/etc/passwd', 'r')
local passwd = f:read('a')
f:close()
Run Code Online (Sandbox Code Playgroud)
我知道第一段代码有效,但我没有——如果它会导致一些隐藏的问题。
我正在使用 Lua 5.3
当文件对象被垃圾收集时,Lua 将关闭文件 - 正如 Personage 在他们的回答中所说。
然而,这可能不会很快。如果您不自己关闭文件,则: