This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
api:buffer:zh [2023/11/29 05:24] hfsr [实例方法] |
api:buffer:zh [2023/11/29 05:36] (current) hfsr [接口方法] |
||
---|---|---|---|
Line 103: | Line 103: | ||
下列方法应当在打算传给`buffer.new`的带缓冲IO流上实现。 | 下列方法应当在打算传给`buffer.new`的带缓冲IO流上实现。 | ||
- | - `close() ok, reason` | + | - `close() ok, reason` |
- | + | 关闭句柄,释放资源,断开连接。并返回是否成功。 | |
- | 关闭句柄,释放资源,断开连接。并返回是否成功 | + | \\ |
- | + | - `write(arg: string) ok, reason` | |
- | - `write(arg: string) ok, reason` | + | 以字节形式写入`arg`,假定提供的是不加修饰的未格式化字符。失败时返回假值和原因。 |
- | + | \\ | |
- | 以字节形式写入`arg`,假定提供的是不加修饰的未格式化字符。失败时返回假值和原因。 | + | - `read(n: number) ok, reason` |
- | + | 返回`n`个字节,而**不是**`n`个考虑Unicode的字符。我们假设你的数据为二进制数据,并且让buffer库管理IO模式与Unicode字符串打包(如果可用)。请注意这就是[[api:filesystem|filesystem]]库的工作方式。直到返回`nil`前,此方法的调用者都会假定还有更多数据可读取。空字符串或长度短于`n`的字符串也是合法返回值,但调用者可能假定在返回`nil`前仍可请求更多数据。 | |
- | - `read(n: number) ok, reason` | + | \\ |
- | + | - `seek([whence: string], [offset: number]) [offset from start] or falsey, reason` | |
- | 返回`n`个字节,而**不是**`n`个考虑Unicode的字符。我们假设你的数据为二进制数据,并且让buffer库管理IO模式与Unicode字符串打包(如果可用)。请注意这就是[[api:filesystem|filesystem]]库的工作方式。此方法的调用者会假定还有更多数据可以读取,直到返回`nil`。空字符串或长度短于`n`的字符串也是合法返回值,但调用者可能假定在`nil`返回前仍有更多数据可以请求。 | + | |
- | + | ||
- | - `seek([whence: string], [offset: number]) [offset from start] or falsey, reason` | + | |
请查看`b:seek()`以获取细节。简而言之,从`whence`起将IO流位置移动`offset`,并返回从IO流开始位置到seek操作结束后的位置之间的`offset`值。请注意,`seek("cur", 0)`也是合法请求,被用于调用者想获取IO流当前位置的情况下。你的自定义IO流不需要一定支持`seek`,这种情况下(以及任何失败情况下)你需要返回nil和失败原因(以字符串形式)。 | 请查看`b:seek()`以获取细节。简而言之,从`whence`起将IO流位置移动`offset`,并返回从IO流开始位置到seek操作结束后的位置之间的`offset`值。请注意,`seek("cur", 0)`也是合法请求,被用于调用者想获取IO流当前位置的情况下。你的自定义IO流不需要一定支持`seek`,这种情况下(以及任何失败情况下)你需要返回nil和失败原因(以字符串形式)。 | ||