首页 文章

没有方法解析String

提问于
浏览
2

我正在尝试按照official guide学习Rust .

但是,我收到有关 String 未实现 parse 方法的错误 . 我搜索了文档并找到了方法here .

为了让我高枕无忧,我想知道指南是否有问题(很可能是1.0语言之前的版本)或者我做错了什么 .

锈版:

rustc 0.13.0-nightly(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错误:type collections :: string :: String没有实现名为parse / home / daniel / Projects / guessing_game的作用域中的任何方法/src/main.rs:16 let input_num:Option = input.parse();

1 回答

  • 3

    这只是 rustc 版本的问题: parse 方法was added ~2 days ago,但您的编译器大约需要3天 . Rust运行速度很快,不幸的是,当你在最前沿工作时很容易打到像这样的小案例 .

    希望这真的会从the 9th of January开始解决 .

相关问题