【发布时间】:2012-10-27 01:48:16
【问题描述】:
在运行打开和读取文件之前让 Lua 打印时遇到问题。这将打印字符串 "Reading File..." 和 "File Read!"但只有在它完成 getFileString() 函数之后。我希望它在运行之前打印“正在读取文件...”。我将其范围缩小到 file: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 左右的文件。
【问题讨论】:
-
你使用的是什么开发环境。在我使用的那个输出窗口仅在脚本结束或到达断点时刷新。
-
是的,这肯定是 IDE 的问题(SciTE?)。 Lua 本身肯定会在读取文件之前执行第一个
print。 -
是的,这可能是您的编辑器的缓冲问题。如果你运行 lua.exe 并调用
dofile("name_of_script.lua")- 我想你会得到你期望的结果。