注意:在这个问题的细节方面
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() 回报 aNone.unwrap() 失败
fn unwrap_or(self, def: T) -> T返回包含的值或默认值
那是,
Some(a).unwrap_or(b) 回报 aNone.unwrap_or(b) 回报 bArj*_*jan 60
注意在这个答案的细节有关
read_line,并~str涉及到预先1.0版本锈病.关于unwrap并unwrap_or保持相关的一般概念.
因为read_line可能会失败它返回Option<~str>.要获得该值,您可以使用模式匹配或其中一种解包方法.
如果没有值()但是将返回指定的默认值(在这种情况下为"无" ),则unwrap和之间的差异将失败unwrap_orunwrapNoneunwrap_or
| 归档时间: |
|
| 查看次数: |
24106 次 |
| 最近记录: |