注意:在这个问题的细节方面
read_line
,并~str
涉及到预先1.0版本锈病.关于unwrap
并unwrap_or
保持相关的一般概念.
let mut reader = BufferedReader::new(io::stdin());
let input = reader.read_line().unwrap_or(~"nothing");
Run Code Online (Sandbox Code Playgroud)
Chr*_*gan 83
注意在这个答案的细节有关
read_line
,并~str
涉及到预先1.0版本锈病.关于unwrap
并unwrap_or
保持相关的一般概念.
Rust有API文档解释这些东西.
fn read_line(&mut self) -> Option<~str>
读取下一行输入,解释为UTF-8编码的unicode代码点序列.如果遇到换行符,则换行符包含在返回的字符串中.
...
[然后关于提高
io_error
条件的事情,这是一种情况,None
如果条件被处理,它将返回.如果它不是它会失败,所以你永远不会得到任何回报.]
None
如果在阅读器中读取了所有内容,您也将被退回.
fn unwrap(self) -> T
将值移出选项类型并返回它.
主要用于从选项类型中获取字符串,向量和唯一指针而不复制它们.
...
那是,
Some(a).unwrap()
回报 a
None.unwrap()
失败
fn unwrap_or(self, def: T) -> T
返回包含的值或默认值
那是,
Some(a).unwrap_or(b)
回报 a
None.unwrap_or(b)
回报 b
Arj*_*jan 60
注意在这个答案的细节有关
read_line
,并~str
涉及到预先1.0版本锈病.关于unwrap
并unwrap_or
保持相关的一般概念.
因为read_line
可能会失败它返回Option<~str>
.要获得该值,您可以使用模式匹配或其中一种解包方法.
如果没有值()但是将返回指定的默认值(在这种情况下为"无" ),则unwrap
和之间的差异将失败unwrap_or
unwrap
None
unwrap_or
归档时间: |
|
查看次数: |
24106 次 |
最近记录: |