在运行打开和读取的文件之前,我遇到了让Lua打印的问题。这将打印字符串“Reading File ...”和“File Read!”但只有在它完成了getFileString()函数之后。我希望它在运行之前打印“阅读文件...”。我把它缩小到文件:read(“* a”)这会弄乱我(更大)脚本中的所有打印件。
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()
我是否功能化似乎也没关系。我应该提一下,这主要是因为我正在阅读150MB左右的文件。
答案 0 :(得分:6)
我认为输出只是缓冲。尝试在打印前添加io.stdout:setvbuf('no')
,这样可以关闭输出缓冲。