在Lua中解析文件中的特定值

时间:2015-10-03 00:18:22

标签: parsing lua

我是lua编程的新手,我试图在我的电脑上解析一个本地文件,然后将表/数组的某些元素保存到字符串中。

我已经能够获取所有数据并打印文件的每一行,除了我在尝试获取特定值并将其保存到字符串或只打印某行时遇到问题。任何帮助将不胜感激。

这是我的代码示例:

function file_exists(file)
  local f = io.open(file, "rb")
  if f then f:close() end
  return f ~= nil
end


function lines_from(file)
  if not file_exists(file) then return {} end
  lines = {}
  for line in io.lines(file) do
    lines[#lines + 1] = line
  end
  return lines

end


local file = 'Stats.txt'
local lines = lines_from(file)


for k,v in pairs(lines) do
  print('line[' .. k .. ']', v)
end

1 个答案:

答案 0 :(得分:0)

您的代码按预期工作。我将代码复制到名为temp.lua的文件中。这是输出:

line[1] function file_exists(file)
line[2]   local f = io.open(file, "rb")
line[3]   if f then f:close() end
line[4]   return f ~= nil
line[5] end
line[6] 
line[7] 
line[8] function lines_from(file)
line[9]   if not file_exists(file) then return {} end
line[10]      lines = {}
line[11]      for line in io.lines(file) do
line[12]        lines[#lines + 1] = line
line[13]      end
line[14]      return lines
line[15]    
line[16]    end
line[17]    
line[18]    local file = 'temp.lua'
line[19]    local lines = lines_from(file)
line[20]    
line[21]    for k,v in pairs(lines) do
line[22]      print('line[' .. k .. ']', v)
line[23]    end