在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
点赞
用户1190388
用户1190388

你的代码运行如预期。我把代码复制到了一个名为 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
2015-10-03 09:40:22