Printing Lua文件读取前未打印
在运行文件打开和读取之前,我遇到了一个让Lua打印的问题。这将打印字符串“读取文件…”和“文件读取!”,但仅在完成getFileString()函数后打印。我希望它在运行之前打印“正在读取文件…”。我把范围缩小到file:read(“*a”),这会弄乱我(更大)脚本中的所有打印内容Printing Lua文件读取前未打印,printing,io,lua,Printing,Io,Lua,在运行文件打开和读取之前,我遇到了一个让Lua打印的问题。这将打印字符串“读取文件…”和“文件读取!”,但仅在完成getFileString()函数后打印。我希望它在运行之前打印“正在读取文件…”。我把范围缩小到file:read(“*a”),这会弄乱我(更大)脚本中的所有打印内容 无论我是否使用了功能,这似乎都无关紧要。我应该提到的是,这主要是因为我正在读取一个150MB左右的文件。我认为输出只是缓冲的。在打印之前尝试添加io.stdout:setvbuf('no'),这将关闭输出缓冲。您使用
无论我是否使用了功能,这似乎都无关紧要。我应该提到的是,这主要是因为我正在读取一个150MB左右的文件。我认为输出只是缓冲的。在打印之前尝试添加
io.stdout:setvbuf('no')
,这将关闭输出缓冲。您使用的是什么开发环境。在我使用的一个例子中,输出窗口仅在脚本结束或到达断点时刷新。是的,这肯定是由于IDE(SciTE?)造成的问题。Lua本身肯定会在读取文件之前执行第一次打印。是的,这可能是编辑器的缓冲问题。如果您运行lua.exe并调用dofile(“name\u of_script.lua”)
,我想您会得到预期的结果。
function getFileString(path)
local file, err = io.open(path, "r")
local all = file:read("*a")
file:close()
return all
end
function main()
local directory = "C:\\Documents and Settings\\All Users\\Documents\\"
print("Reading File...")
local file_all = getFileString(directory.."myFile.txt")
print("File Read!\n")
end
main()