如何将输出设置为特定规格

时间:2016-03-29 01:27:13

标签: lua lua-table

我想出了我的代码的主要概念,该代码读入文件并将其设置为密钥然后读入另一个文件并显示基于该文件的信息。如何在输出前添加第1行,第2行第3行等等?以及在每个新行的上方和下方添加------------

-- see if the file exists
function file_exists(file)
  local f = io.open("data.txt", "rb")
  if f then f:close() end
  return f ~= nil
end

-- get all lines from a file, returns an empty
-- list/table if the file does not exist
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

1 个答案:

答案 0 :(得分:0)

我会以更一般的方式回答这个问题,因为您的代码没有正常工作。

您只需在打印行的for循环中添加打印命令即可。或者你以某种方式改变文本。有关字符串操作和concat运算符..

,请参阅Lua参考文档
local numLine = 0
for _, key in pairs(keys) do 
  numLine = numLine + 1
  print("Line " .. numLine .. ": " .. lines[key])
  print("----------")

end