Parsing 为表中的特定值分析Lua中的文件

Parsing 为表中的特定值分析Lua中的文件,parsing,lua,Parsing,Lua,我对lua编程非常陌生,正在尝试在我的pc上解析一个本地文件,然后将表/数组的某些元素保存为字符串 我已经能够获取所有数据并打印文件的每一行,但在尝试获取特定值并将其保存到字符串或仅打印某一行时遇到问题。任何帮助都将不胜感激 以下是我的代码示例: function file_exists(file) local f = io.open(file, "rb") if f then f:close() end return f ~= nil end function lines_fr

我对lua编程非常陌生,正在尝试在我的pc上解析一个本地文件,然后将表/数组的某些元素保存为字符串

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

以下是我的代码示例:

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

您的代码按预期工作。我将代码复制到一个名为
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

举一个“获取特定值”问题的例子。假设我正在尝试获取文件中的第一行并打印该行,在获取值时是否需要更改for循环,或者是否需要更改打印行的位置?在读取所有需要的行后,您可以
中断
“读取文件”循环。“我有问题”您必须说明这些问题是什么。“假设我正在尝试获取文件中的第一行”
print(lines[1])
“我无法使其工作”您正在再次执行。