rust - 没有方法解析字符串

标签 rust

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

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

为了让我安心,我想知道指南是否存在问题(很可能是 1.0 之前的语言)或者我是否做错了什么。

使用rust 版本:

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 error: type collections::string::String does not implement any method in scope named parse /home/daniel/Projects/guessing_game/src/main.rs:16 let input_num: Option = input.parse();

最佳答案

这只是rustc 版本的问题:parse 方法was added ~2 days ago ,但您的编译器大约有 3 天的历史。 Rust 发展迅速,不幸的是,在前沿工作时很容易遇到这样的小案例。

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

关于rust - 没有方法解析字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27641116/

相关文章:

rust - "pub use"和 "pub mod"之间的区别?

string - 我应该实现 Display 还是 ToString 来将类型呈现为字符串?

rust - 如何使用 kuchiki 只获取 TEXT_NODE

rust - 如何使用返回可变引用的迭代器创建自己的数据结构?

rust - 切片过滤时的终身麻烦

reference - 可变引用生命周期与不可变引用生命周期

casting - 为什么不将 int 分配给 f32 变量编译?

rust - GnuCOBOL 调用 Rust : libcob: error: module not found

r - 错误 : configuration failed for package ‘gifski’

rust - 如何根据分隔符将向量拆分为切片向量?