Rust 这个打开的东西是什么:有时它';让我们有时把它打开';打开包装或

Rust 这个打开的东西是什么:有时它';让我们有时把它打开';打开包装或,rust,Rust,请注意,此问题中有关read\u line和~str的详细信息与1.0之前版本的Rust有关。关于展开和展开或的一般概念仍然相关 我在阅读时遇到过,即: 请注意,本回答中有关读取行和~str的细节与1.0之前版本的Rust有关。关于展开和展开或的一般概念仍然相关 因为read\u line可能会失败,所以它会返回选项。要获得值,可以使用模式匹配或展开方法之一 unwrap与unwrap\u或之间的区别在于,如果没有值(None),则unwrap将失败,但unwrap\u或将返回指定的默认值(在本

请注意,此问题中有关
read\u line
~str
的详细信息与1.0之前版本的Rust有关。关于
展开
展开或
的一般概念仍然相关

我在阅读时遇到过,即:

请注意,本回答中有关
读取行
~str
的细节与1.0之前版本的Rust有关。关于
展开
展开或
的一般概念仍然相关

因为
read\u line
可能会失败,所以它会返回
选项
。要获得值,可以使用模式匹配或展开方法之一

unwrap
unwrap\u或
之间的区别在于,如果没有值(
None
),则
unwrap
将失败,但
unwrap\u或
将返回指定的默认值(在本例中为“无”)

请注意,本回答中有关
读取行
~str
的细节与1.0之前版本的Rust有关。关于
展开
展开或
的一般概念仍然相关

Rust有API文档来解释这些事情

:

fn读取行(&mut self)->选项
读取下一行输入,解释为UTF-8编码的unicode码点序列。如果遇到换行符,则换行符包含在返回的字符串中

[然后是关于引发
io_error
条件的问题,在这种情况下,如果条件得到处理,它将返回
None
。如果条件没有得到处理,它将失败,因此您将永远无法得到任何回报。]

如果读取器中的所有内容都已读取,则还将返回
None


:

fn展开(自)->T
将值移出选项类型并返回它

主要用于从选项类型中获取字符串、向量和唯一指针,而无需复制它们

就是

  • Some(a).unwrap()返回
    a
  • None.unwrap()
    失败

:

fn展开或(self,def:T)->T
返回包含的值或默认值

就是

  • a)部分。展开u或(b)
    返回
    a
  • None.unwrap\u或(b)
    返回
    b

处理过的io_错误并不是唯一一种从读取行中看不到任何返回的情况:我敢肯定,当输入达到EOF(文件结束)时,它也不会返回任何,而不会发出条件信号。(我很喜欢你对选项方法的具体redex风格的解释:我会考虑将其添加到文档中)@pnkfelix:你说得对。我想了想,但出于某种原因没有写下来。更正。
let mut reader = BufferedReader::new(io::stdin());
let input = reader.read_line().unwrap_or(~"nothing");