读取特定行中的文件

时间:2014-08-07 08:15:52

标签: lua

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

其他地方的东西应该是错的,但我不知道如何解决这个问题,任何人都可以查看这个文件吗?

1 个答案:

答案 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