如何设置输出特定格式

我理解了代码的主要概念,它读取文件并将其设置为键,然后读取另一个文件并根据该文件显示信息。如何在输出前添加第1行、第2行、第3行等,并在每个新行上方和下方添加------------

- 查看文件是否存在
function file_exists(file)
  local f = io.open("data.txt", "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("data.txt") do
    first_word = string.match(line, "%a+") -- word
    lines[first_word] = line
    lines[#lines + 1] = lin
  end
  return lines

end

local lines = lines_from(file)

- 将文件设置为键
function key_file(file)
    if not file_exists(file) then return {} end
    keys = {}
    for line in io.lines("keys.txt") do
      key = string.match(line, "%a+")
      table.insert(keys, key)
    end
    return keys
end

local lines = lines_from("data.txt")
local keys = key_file("keys.txt")

- 遍历键并输出相应行的内容
for _, key in ipairs(keys) do
    print(lines[key])

end
点赞
用户2858170
用户2858170

我将以一种更一般的方式回答这个问题,因为你的代码目前不起作用。

您可以在打印行的 for 循环中简单地添加打印命令。或者您可以以某种方式更改文本。参见 Lua 参考文档以获取字符串操作和连接运算符 ..

local numLine = 0
for _, key in pairs(keys) do
  numLine = numLine + 1
  print("Line " .. numLine .. ": " .. lines[key])
  print("----------")
end
2016-03-29 11:17:15