Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
api:buffer:zh [2023/10/16 10:33]
hfsr [静态方法]
api:buffer:zh [2023/11/29 02:58]
hfsr [Buffer(缓冲) API]
Line 1: Line 1:
 Buffer(缓冲) API Buffer(缓冲) API
 =========== ===========
-`buffer`库提供了便于使用的IO流。本库提供的流更像是`io`库提供的,由`io.open`返回的流,**不像**`filesystem.open`返回的原始流,后者支持的方法没有前者那么多。下文[[api:​buffer:​zh#​实例方法|实例方法]]板块列出的方法可用于从`io.open`函数获取的文件句柄因此就算你没打算构建自定义带缓冲IO流,此API文档也会大有裨益。+`buffer`库提供了便于使用的IO流。本库提供的流更像是`io`库提供的,由`io.open`返回的流,**不像**`filesystem.open`返回的原始流,后者支持的方法没有前者那么多。下文[[api:​buffer:​zh#​实例方法|实例方法]]板块列出的方法可用于从`io.open`函数获取的文件句柄因此就算你没打算构建自定义带缓冲流,此API文档也会大有裨益。
  
-此外,该API还允许你创建带缓冲IO流。你需要提供后端的流式读取和流式写入,buffer库提供数据缓冲与格式化。一般而言,用户无需构建自己的带缓冲输入输出流。以备参考,io库就使用了带缓冲IO流(包含文件io和控制台io)。+此外,该API还能让你创建带缓冲流。你需要提供后端的流式读取和流式写入,buffer库提供数据缓冲与格式化。一般而言,用户无需构建自己的带缓冲流。以备参考,io库就使用了带缓冲流(包含文件io和控制台io)。
  
 静态方法 静态方法
Line 11: Line 11:
 - `buffer.new([mode:​ string], stream: table)` - `buffer.new([mode:​ string], stream: table)`
  
-  ​用读写模式(`mode`)来修饰传入的流(`stream`),以创建一个带缓冲IO流。模式(`mode`)可以为只读(r或`nil`)、读写(rw)或仅写入(w)。请查看`stream`对象所需的流[[api:​buffer:​zh#​实例方法|实例方法]]有关内容。+  ​传入的流(`stream`)封装上读写模式(`mode`),以创建一个带缓冲IO流。模式(`mode`)可以为只读(r或`nil`)、读写(rw)或仅写入(w)。请查看`stream`对象所需的流[[api:​buffer:​zh#​实例方法|实例方法]]有关内容。
  
 实例方法 实例方法
Line 22: Line 22:
 - `b:close()` - `b:close()`
  
-  清空缓冲区并关闭修饰的流。+  清空缓冲区并关闭封装的流。
 - `b:​setvbuf([mode:​ string], [size: number]) mode, size` - `b:​setvbuf([mode:​ string], [size: number]) mode, size`
  
Line 61: Line 61:
 `format`指定的每个值都会先从IO流中读出,结果一次性以多个返回值的形式返回。请注意格式字符串都有 \* 前缀,而且只有字符串的第一个字符有意义,其余字符将会被忽略。下列是支持的格式: `format`指定的每个值都会先从IO流中读出,结果一次性以多个返回值的形式返回。请注意格式字符串都有 \* 前缀,而且只有字符串的第一个字符有意义,其余字符将会被忽略。下列是支持的格式:
     * 一个数字值,例如`10`     * 一个数字值,例如`10`
 +
   从IO流读取**n**个字节(以二进制模式)或字符(以文本模式),结果将以字符串形式返回。参见[[api:​non-standard-lua-libs#​input_and_output_facilities|io.open]]以获取有关如何以不同模式打开文件的更多信息。   从IO流读取**n**个字节(以二进制模式)或字符(以文本模式),结果将以字符串形式返回。参见[[api:​non-standard-lua-libs#​input_and_output_facilities|io.open]]以获取有关如何以不同模式打开文件的更多信息。