帮我用lua封装一个 可以删除指定行文本文件的函数
时间: 2023-05-28 15:04:05 浏览: 569
以下是使用Lua封装的删除指定行文本文件的函数:
```lua
function deleteLine(filename, lineNum)
local file = io.open(filename, "r")
if not file then
error("File not found!")
return
end
local lines = {}
for line in file:lines() do
table.insert(lines, line)
end
file:close()
if lineNum < 1 or lineNum > #lines then
error("Line number out of range!")
return
end
table.remove(lines, lineNum)
file = io.open(filename, "w")
for _, line in ipairs(lines) do
file:write(line, "\n")
end
file:close()
end
```
该函数接受两个参数:文件名和要删除的行号。它首先打开文件并读取所有行,然后检查行号是否在范围内。如果行号有效,则从行列表中删除该行,并重新写入文件。
可以像这样调用函数:
```lua
deleteLine("example.txt", 2)
```
这将删除“example.txt”文件中的第二行。
阅读全文