我想出了我的代码的主要概念,该代码读入文件并将其设置为密钥然后读入另一个文件并显示基于该文件的信息。如何在输出前添加第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
答案 0 :(得分:0)
我会以更一般的方式回答这个问题,因为您的代码没有正常工作。
您只需在打印行的for循环中添加打印命令即可。或者你以某种方式改变文本。有关字符串操作和concat运算符..
local numLine = 0
for _, key in pairs(keys) do
numLine = numLine + 1
print("Line " .. numLine .. ": " .. lines[key])
print("----------")
end