1
我使用LUA讀取文件中的數據,並且該代碼如下所示,的Lua:讀取文件
filename = "./temp/vtx_vel"..id..".dat"
file = io.open(filename, "r")
lineno = i + ni*j
local n = -1
for l in io.lines(filename) do
n = n + 1
if n == lineno then
vel = tonumber(l)
break
end
end
file:close()
在外部文件中的數據正在改變。但是,當我在不同的步驟閱讀這個文件時,我感到很奇怪,我得到了相同的值。這是爲什麼?
謝謝。
您沒有從您打開的文件句柄讀取。您正在'io.lines'調用中打開一個新句柄,並且從不關閉它們。在循環中使用'file:lines()',看看問題是否消失。 – 2015-02-12 03:35:55
謝謝你,我已經改變爲「在file.lines()做l」,但得到錯誤:udf-vtx.lua:35:糟糕的參數#1到'行'(文件*預期,沒有價值) – Kan 2015-02-12 03:39:52
'file:lines()'不是'file.lines()'。您需要將其稱爲文件的「方法」(隱式地將'file'作爲函數的第一個參數傳遞)。 – 2015-02-12 03:40:38