读取文件中的特定行

我有一个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

其他地方可能有问题,但我不知道如何解决,有人能看一下这个文件吗?

点赞
用户183120
用户183120

index_number变量从0开始,但代码

local n=0
for line in fp:lines() do
   n = n+1
   if n == index_number then  -- 当n = 0时,这个条件永远不会满足

表明n永远不会是0,因为它在检查之前被递增了。将初始化设置为以下方式

local n = -1

或者按照惯例,在Lua中,索引从1开始,你可以将其更改为后递增

local n = 0
for line in fp:lines() do
    if n == index_number then
        -- 做一些事情
    end
    n = n + 1
end
2014-08-07 08:35:20