Syn*_*ose 3 rust rust-obsolete
我很惊讶我似乎无法浏览rust的文档以找到描述io的任何情况,有人可以向我解释如何使用基本的io来获取用户输入说,一个整数?也许在哪里可以找到那些被诅咒的文件中的io细节?谢谢
回答你关于ints 的问题.(所有这些类型的注释都是可选的,我已经将每个步骤分开了.)
use std::io;
fn main() {
let mut stdin = io::stdin();
let err_line: io::IoResult<String> = stdin.read_line();
let line: String = err_line.unwrap();
let line_no_extra_whitespace: &str = line.as_slice().trim();
let possible_number: Option<int> = from_str(line_no_extra_whitespace);
match possible_number {
Some(n) => println!("double your number is {}", 2 * n),
None => println!("please type an integer")
}
}
Run Code Online (Sandbox Code Playgroud)
文档(注意:文档中几乎所有类型都是可点击的,带您进入一个页面,其中包含更多描述/列出您可以使用它们执行的操作):
stdin.read_lineIoResult(注意,这只是重命名类型,也就是说,它实际上是一个Result.)String.unwrapfrom_str(以及FromStr它所包含的特性.).as_slice(您可以String在实施者列表中看到.).trimOption(None并且Some是两个变种Option)println!另外,请注意,可以通过页面顶部的搜索框搜索文档,例如搜索"stdin".(您可以在任何页面上按's'跳转到搜索框,准备输入.)
您可能也对这个答案感兴趣,关于分配的堆String和字符串切片之间的区别&str.
其他人已经指出了备忘单,文档的入口点std和IO特定的std::io.还有其他地方有很好的信息,比如std::result文本,用于处理IO操作的返回值(记住IoResult是a Result支持所有这些操作),irc.mozilla.org(web客户端)上的#rust IRC通道通常有多人愿意帮忙.