Io Lua 4.0.1附录

Io Lua 4.0.1附录,io,lua,Io,Lua,有人能解释一下使用appendto函数的正确方法吗 我试图使用它将调试文本写入文件。我希望在调用函数时立即写入它,但由于某种原因,程序会等待它退出,然后立即写入所有内容 我是否使用了正确的功能?我是否需要在每次写入文件时先打开,然后写入,然后关闭文件 谢谢。看起来您在缓冲方面遇到了问题(顺便说一句,这在其他语言中也是一个常见问题)。要写入文件的数据保存在内存缓冲区中,只有在以后的时间才会写入磁盘(这样做是为了一起批量写入磁盘,以获得更好的性能) 一种可能是按照您的建议打开和关闭文件。关闭文件句柄

有人能解释一下使用appendto函数的正确方法吗

我试图使用它将调试文本写入文件。我希望在调用函数时立即写入它,但由于某种原因,程序会等待它退出,然后立即写入所有内容

我是否使用了正确的功能?我是否需要在每次写入文件时先打开,然后写入,然后关闭文件


谢谢。

看起来您在缓冲方面遇到了问题(顺便说一句,这在其他语言中也是一个常见问题)。要写入文件的数据保存在内存缓冲区中,只有在以后的时间才会写入磁盘(这样做是为了一起批量写入磁盘,以获得更好的性能)

一种可能是按照您的建议打开和关闭文件。关闭文件句柄会将缓冲区的内容刷新到磁盘

第二种可能是使用
flush
函数明确请求将数据写入磁盘。在Lua4.0.1中,可以调用flush并传递文件句柄

-- If you have opened your file with open:
local myfile = open("myfile.txt", "a")
flush(myfile)

-- If you used appendto the output file handle is in the _OUTPUT global variable
appendto("myfile.txt")
flush(_OUTPUT)
或者,您可以不带参数地调用flush,在这种情况下,它将刷新您当前打开的所有文件

flush()

有关详细信息,请参阅参考手册:.

附录,写入,刷新,写入,刷新,。。。