我正在尝试按照官方指南学习Rust 。
但是,我收到有关String
未实现该parse
方法的错误。我已经搜索了文档,并在这里找到了方法。
为了让我省心,我想知道指南是否存在问题(很可能是1.0版之前的语言),或者我做错了什么。
锈版本:
rustc 0.13.0-每晚(34d680009 2014-12-22 00:12:47 +0000)
我已经复制了代码和下面的错误。
use std::io;
use std::rand;
fn main() {
println!("Guess the number!");
let secret_number = (rand::random::<uint>() % 100u) + 1u;
println!("The secret number is: {}", secret_number);
println!("Please input your guess.");
let input = io::stdin().read_line()
.ok()
.expect("Failed to read line");
let input_num: Option<uint> = input.parse();
let num = match input_num {
Some(num) => num,
None => {
println!("Please input a number!");
return;
}
};
println!("You guessed: {}", num);
match cmp(num, secret_number) {
Less => println!("Too small!"),
Greater => println!("Too big!"),
Equal => println!("You win!"),
}
}
fn cmp(a: uint, b: uint) -> Ordering {
if a < b { Less }
else if a > b { Greater }
else { Equal }
}
编译后,将引发以下内容:
/home/daniel/Projects/guessing_game/src/main.rs:16:41:16:48错误:类型
collections::string::String
未在名为parse
/home/daniel/Projects/guessing_game/src/main.rs:16的范围内实现任何方法input_num:选项= input.parse();
这只是rustc
版本的问题:该parse
方法是在大约2天前添加的,但是您的编译器已使用了大约3天。Rust的移动速度很快,不幸的是,在流血边缘工作时,这样的小情况很容易击中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句