Julia是否会在句柄超出范围时自动关闭文件?

Julia是否会在句柄超出范围时自动关闭文件?,julia,Julia,Julia为文件提供了open()和close()函数。有点像 finalizer(filehandle, obj -> close(obj), filehandle ) 打开文件时自动执行?是,这是自动执行的。但是,当对象超出范围时,不会调用终结器,而是当垃圾收集确定不再有对该对象的引用时,才会调用终结器。然而,当您期望或希望它发生时,这可能不会发生。要在退出当前作用域时自动关闭文件句柄,可以使用open do块构造: open("file.txt") do fh # do stu

Julia为文件提供了open()和close()函数。有点像

finalizer(filehandle, obj -> close(obj), filehandle )

打开文件时自动执行?

是,这是自动执行的。但是,当对象超出范围时,不会调用终结器,而是当垃圾收集确定不再有对该对象的引用时,才会调用终结器。然而,当您期望或希望它发生时,这可能不会发生。要在退出当前作用域时自动关闭文件句柄,可以使用open do块构造:

open("file.txt") do fh
  # do stuff with open file handle `fh`
end # `fh` is closed here