Playground/playground/zh: Difference between revisions

From OpenComputers: Rebooted
Jump to navigation Jump to search
imported>OCDoc Import
Imported from legacy OpenComputers documentation at ocdoc.cil.li
 
Clean up Markdown artifacts from DokuWiki migration
 
Line 1: Line 1:
* `b:read([formats...]) string...`
* <code>b:read([formats...]) string...</code>


<pre>先进的读取器,可支持多种格式。首先,如果不指定`format`调用,即参数列表留空,它会从流中读取下一行,等价于`read("*l")`。
<pre>先进的读取器,可支持多种格式。首先,如果不指定format调用,即参数列表留空,它会从流中读取下一行,等价于read("*l")。
</pre>
</pre>
每个`format`值都会先从IO流中读出,再一次性以多个返回值的形式返回。请注意格式字符串都有 \* 前缀,而且只有字符串的第一个字符有意义,其余字符将会被忽略。
每个<code>format</code>值都会先从IO流中读出,再一次性以多个返回值的形式返回。请注意格式字符串都有 \* 前缀,而且只有字符串的第一个字符有意义,其余字符将会被忽略。


<pre>下列是支持的格式:
<pre>下列是支持的格式:
* 一个数字值,例如`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]]以获取有关如何以不同模式打开文件的更多信息。
示例:`local chars = b:read(10)` 
示例:local chars = b:read(10)
</pre>
</pre>


'' `''n`或者`*number`
'' <code>''n</code>或者<code>*number</code>


<pre>从IO流中读取下一组可被解释为数字的字节。请注意读取到的数字会受到打开模式为二进制还是文本的影响。参见[[API/non-standard-lua-libs#input_and_output_facilities|io.open]]以获取有关如何以不同模式打开文件的更多信息。
<pre>从IO流中读取下一组可被解释为数字的字节。请注意读取到的数字会受到打开模式为二进制还是文本的影响。参见[[API/non-standard-lua-libs#input_and_output_facilities|io.open]]以获取有关如何以不同模式打开文件的更多信息。
示例:`local number = b:read("*n")` 
示例:local number = b:read("*n")
</pre>
</pre>


'' `''l`或者`*line`
'' <code>''l</code>或者<code>*line</code>


<pre>从IO流中读取下一行,截掉换行标记(可能是 \n,、\r或\r\n)。
<pre>从IO流中读取下一行,截掉换行标记(可能是 \n,、\r或\r\n)。
示例:`local line = b:read("*l")` 
示例:local line = b:read("*l")
</pre>
</pre>


'' `''L`或者`*Line`
'' <code>''L</code>或者<code>*Line</code>


<pre>从IO流中读取下一行,类似`*line`,但是在结果中保留换行标记。 
<pre>从IO流中读取下一行,类似*line,但是在结果中保留换行标记。
示例:`local whole_line = b:read("*L")` 
示例:local whole_line = b:read("*L")
</pre>
</pre>


'' `''a`或者`*all`
'' <code>''a</code>或者<code>*all</code>


<pre>从IO流中读取所有剩余内容,直到遇到nil。在此读取格式后再指定其他格式没有意义。
<pre>从IO流中读取所有剩余内容,直到遇到nil。在此读取格式后再指定其他格式没有意义。
示例:`local the_whole_file = b:read("*a")`\\
示例:local the_whole_file = b:read("*a")\\
\\
\\
</pre>
</pre>
* `b:getTimeout() number`
* <code>b:getTimeout() number</code>


<pre>返回当前带缓冲流设定的超时时间(单位为秒)。默认超时时间为`math.huge`。参阅`setTimeout`以获取有关于带缓冲流超时时间影响的更多信息。 
<pre>返回当前带缓冲流设定的超时时间(单位为秒)。默认超时时间为math.huge。参阅setTimeout以获取有关于带缓冲流超时时间影响的更多信息。
</pre>
</pre>

Latest revision as of 20:28, 24 August 2026

  • b:read([formats...]) string...
先进的读取器,可支持多种格式。首先,如果不指定format调用,即参数列表留空,它会从流中读取下一行,等价于read("*l")。

每个format值都会先从IO流中读出,再一次性以多个返回值的形式返回。请注意格式字符串都有 \* 前缀,而且只有字符串的第一个字符有意义,其余字符将会被忽略。

下列是支持的格式:
* 一个数字值,例如10
从IO流读取**n**个字节(以二进制模式)或字符(以文本模式),结果将以字符串形式返回。参见[[API/non-standard-lua-libs#input_and_output_facilities|io.open]]以获取有关如何以不同模式打开文件的更多信息。
示例:local chars = b:read(10)

n或者*number

从IO流中读取下一组可被解释为数字的字节。请注意读取到的数字会受到打开模式为二进制还是文本的影响。参见[[API/non-standard-lua-libs#input_and_output_facilities|io.open]]以获取有关如何以不同模式打开文件的更多信息。
示例:local number = b:read("*n")

l或者*line

从IO流中读取下一行,截掉换行标记(可能是 \n,、\r或\r\n)。
示例:local line = b:read("*l")

L或者*Line

从IO流中读取下一行,类似*line,但是在结果中保留换行标记。
示例:local whole_line = b:read("*L")

a或者*all

从IO流中读取所有剩余内容,直到遇到nil。在此读取格式后再指定其他格式没有意义。
示例:local the_whole_file = b:read("*a")\\
\\
  • b:getTimeout() number
返回当前带缓冲流设定的超时时间(单位为秒)。默认超时时间为math.huge。参阅setTimeout以获取有关于带缓冲流超时时间影响的更多信息。