我有一个txt文件,它以下列格式存储数据:
300
400
500
600
我试图在特定的行中读取此文件,例如read(" .txt",2)将返回500,我也尝试以下
cell.T = {} -- temperatures, K (as a table)
filename = "input.txt"
fp = io.open( filename, "r" )
local n=0
for line in fp:lines() do
n = n+1
if n == index_number then
cell.T[0]=line;
break;
end
end
fp:close()
我的index_number分别为0 1 2 3,但我得到的是0 300 400 500
其他地方的东西应该是错的,但我不知道如何解决这个问题,任何人都可以查看这个文件吗?答案 0 :(得分:2)
index_number
变量以0
开头,但代码
local n=0
for line in fp:lines() do
n = n+1
if n == index_number then -- this condition will never be met when n = 0
表明n
永远不会是0
,因为它会在检查之前递增。像这样进行初始化
local n = -1
或者惯用,因为索引从Lua中的1
开始,您可以将其更改为后增量
local n = 0
for line in fp:lines() do
if n == index_number then
-- do stuff
end
n = n + 1
end