266 lines
6.7 KiB
Lua
266 lines
6.7 KiB
Lua
|
---@meta
|
|||
|
|
|||
|
---
|
|||
|
---
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io"])
|
|||
|
---
|
|||
|
---@class iolib
|
|||
|
---
|
|||
|
---标准输入。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.stdin"])
|
|||
|
---
|
|||
|
---@field stdin file*
|
|||
|
---
|
|||
|
---标准输出。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.stdout"])
|
|||
|
---
|
|||
|
---@field stdout file*
|
|||
|
---
|
|||
|
---标准错误。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.stderr"])
|
|||
|
---
|
|||
|
---@field stderr file*
|
|||
|
io = {}
|
|||
|
|
|||
|
---@alias openmode
|
|||
|
---|>'"r"' # 读模式。
|
|||
|
---| '"w"' # 写模式。
|
|||
|
---| '"a"' # 追加模式。
|
|||
|
---| '"r+"' # 更新模式,所有之前的数据都保留。
|
|||
|
---| '"w+"' # 更新模式,所有之前的数据都删除。
|
|||
|
---| '"a+"' # 追加更新模式,所有之前的数据都保留,只允许在文件尾部做写入。
|
|||
|
---| '"rb"' # 读模式。(二进制方式)
|
|||
|
---| '"wb"' # 写模式。(二进制方式)
|
|||
|
---| '"ab"' # 追加模式。(二进制方式)
|
|||
|
---| '"r+b"' # 更新模式,所有之前的数据都保留。(二进制方式)
|
|||
|
---| '"w+b"' # 更新模式,所有之前的数据都删除。(二进制方式)
|
|||
|
---| '"a+b"' # 追加更新模式,所有之前的数据都保留,只允许在文件尾部做写入。(二进制方式)
|
|||
|
|
|||
|
---
|
|||
|
---关闭 `file` 或默认输出文件。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.close"])
|
|||
|
---
|
|||
|
---@param file? file*
|
|||
|
---@return boolean? suc
|
|||
|
---@return exitcode? exitcode
|
|||
|
---@return integer? code
|
|||
|
function io.close(file) end
|
|||
|
|
|||
|
---
|
|||
|
---将写入的数据保存到默认输出文件中。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.flush"])
|
|||
|
---
|
|||
|
function io.flush() end
|
|||
|
|
|||
|
---
|
|||
|
---设置 `file` 为默认输入文件。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.input"])
|
|||
|
---
|
|||
|
---@overload fun():file*
|
|||
|
---@param file string|file*
|
|||
|
function io.input(file) end
|
|||
|
|
|||
|
---
|
|||
|
---------
|
|||
|
---```lua
|
|||
|
---for c in io.lines(filename, ...) do
|
|||
|
--- body
|
|||
|
---end
|
|||
|
---```
|
|||
|
---
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.lines"])
|
|||
|
---
|
|||
|
---@param filename string?
|
|||
|
---@param ... readmode
|
|||
|
---@return fun():any, ...
|
|||
|
function io.lines(filename, ...) end
|
|||
|
|
|||
|
---
|
|||
|
---用字符串 `mode` 指定的模式打开一个文件。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.open"])
|
|||
|
---
|
|||
|
---@param filename string
|
|||
|
---@param mode? openmode
|
|||
|
---@return file*?
|
|||
|
---@return string? errmsg
|
|||
|
---@nodiscard
|
|||
|
function io.open(filename, mode) end
|
|||
|
|
|||
|
---
|
|||
|
---设置 `file` 为默认输出文件。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.output"])
|
|||
|
---
|
|||
|
---@overload fun():file*
|
|||
|
---@param file string|file*
|
|||
|
function io.output(file) end
|
|||
|
|
|||
|
---@alias popenmode
|
|||
|
---| '"r"' # 从这个程序中读取数据。(二进制方式)
|
|||
|
---| '"w"' # 向这个程序写入输入。(二进制方式)
|
|||
|
|
|||
|
---
|
|||
|
---用一个分离进程开启程序 `prog` 。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.popen"])
|
|||
|
---
|
|||
|
---@param prog string
|
|||
|
---@param mode? popenmode
|
|||
|
---@return file*?
|
|||
|
---@return string? errmsg
|
|||
|
function io.popen(prog, mode) end
|
|||
|
|
|||
|
---
|
|||
|
---读文件 `file`, 指定的格式决定了要读什么。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.read"])
|
|||
|
---
|
|||
|
---@param ... readmode
|
|||
|
---@return any
|
|||
|
---@return any ...
|
|||
|
---@nodiscard
|
|||
|
function io.read(...) end
|
|||
|
|
|||
|
---
|
|||
|
---如果成功,返回一个临时文件的句柄。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.tmpfile"])
|
|||
|
---
|
|||
|
---@return file*
|
|||
|
---@nodiscard
|
|||
|
function io.tmpfile() end
|
|||
|
|
|||
|
---@alias filetype
|
|||
|
---| '"file"' # 是一个打开的文件句柄。
|
|||
|
---| '"closed file"' # 是一个关闭的文件句柄。
|
|||
|
---| 'nil' # 不是文件句柄。
|
|||
|
|
|||
|
---
|
|||
|
---检查 `obj` 是否是合法的文件句柄。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.type"])
|
|||
|
---
|
|||
|
---@param file file*
|
|||
|
---@return filetype
|
|||
|
---@nodiscard
|
|||
|
function io.type(file) end
|
|||
|
|
|||
|
---
|
|||
|
---将参数的值逐个写入默认输出文件。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-io.write"])
|
|||
|
---
|
|||
|
---@return file*
|
|||
|
---@return string? errmsg
|
|||
|
function io.write(...) end
|
|||
|
|
|||
|
---
|
|||
|
---
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-file"])
|
|||
|
---
|
|||
|
---@class file*
|
|||
|
local file = {}
|
|||
|
|
|||
|
---@alias readmode integer|string
|
|||
|
---| '"n"' # 读取一个数字,根据 Lua 的转换文法返回浮点数或整数。
|
|||
|
---| '"a"' # 从当前位置开始读取整个文件。
|
|||
|
---|>'"l"' # 读取一行并忽略行结束标记。
|
|||
|
---| '"L"' # 读取一行并保留行结束标记。
|
|||
|
|
|||
|
---@alias exitcode '"exit"'|'"signal"'
|
|||
|
|
|||
|
---
|
|||
|
---关闭 `file`。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-file:close"])
|
|||
|
---
|
|||
|
---@return boolean? suc
|
|||
|
---@return exitcode? exitcode
|
|||
|
---@return integer? code
|
|||
|
function file:close() end
|
|||
|
|
|||
|
---
|
|||
|
---将写入的数据保存到 `file` 中。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-file:flush"])
|
|||
|
---
|
|||
|
function file:flush() end
|
|||
|
|
|||
|
---
|
|||
|
---------
|
|||
|
---```lua
|
|||
|
---for c in file:lines(...) do
|
|||
|
--- body
|
|||
|
---end
|
|||
|
---```
|
|||
|
---
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-file:lines"])
|
|||
|
---
|
|||
|
---@param ... readmode
|
|||
|
---@return fun():any, ...
|
|||
|
function file:lines(...) end
|
|||
|
|
|||
|
---
|
|||
|
---读文件 `file`, 指定的格式决定了要读什么。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-file:read"])
|
|||
|
---
|
|||
|
---@param ... readmode
|
|||
|
---@return any
|
|||
|
---@return any ...
|
|||
|
---@nodiscard
|
|||
|
function file:read(...) end
|
|||
|
|
|||
|
---@alias seekwhence
|
|||
|
---| '"set"' # 基点为 0 (文件开头)。
|
|||
|
---|>'"cur"' # 基点为当前位置。
|
|||
|
---| '"end"' # 基点为文件尾。
|
|||
|
|
|||
|
---
|
|||
|
---设置及获取基于文件开头处计算出的位置。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-file:seek"])
|
|||
|
---
|
|||
|
---@param whence? seekwhence
|
|||
|
---@param offset? integer
|
|||
|
---@return integer offset
|
|||
|
---@return string? errmsg
|
|||
|
function file:seek(whence, offset) end
|
|||
|
|
|||
|
---@alias vbuf
|
|||
|
---| '"no"' # 不缓冲;输出操作立刻生效。
|
|||
|
---| '"full"' # 完全缓冲;只有在缓存满或调用 flush 时才做输出操作。
|
|||
|
---| '"line"' # 行缓冲;输出将缓冲到每次换行前。
|
|||
|
|
|||
|
---
|
|||
|
---设置输出文件的缓冲模式。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-file:setvbuf"])
|
|||
|
---
|
|||
|
---@param mode vbuf
|
|||
|
---@param size? integer
|
|||
|
function file:setvbuf(mode, size) end
|
|||
|
|
|||
|
---
|
|||
|
---将参数的值逐个写入 `file`。
|
|||
|
---
|
|||
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-file:write"])
|
|||
|
---
|
|||
|
---@param ... string|number
|
|||
|
---@return file*?
|
|||
|
---@return string? errmsg
|
|||
|
function file:write(...) end
|
|||
|
|
|||
|
return io
|