"宏未定义"使用扫描读取u8时!()

时间:2016-07-15 12:27:05

标签: input rust

我读到了在How to read an integer input from the user in Rust 1.0?中读取整数输入,但我注意到所有解决方案首先将一个字符串作为输入,然后将其转换为整数。我想知道是否有直接读取整数的方法。

This page提到scan!()宏但由于某种原因,当我使用rustc main.rc编译以下程序时,它似乎无法运行。

extern crate text_io;

fn main() {
    let mut a: u8;
    let mut b: u8;
    scan!("{},{}", a, b);
    print!("{} {}", a, b);
}

这会产生错误:

error: macro undefined: 'scan!'
    scan!("{},{}",a,b);

1 个答案:

答案 0 :(得分:5)

您必须明确表示要从此包中导入宏:

#[macro_use] extern crate text_io;

这是写在自述文件的最顶层,你一定错过了它。

要使用crates.io中的包,您需要将它们添加到Cargo.toml,例如将以下行添加到该文件中:

[dependencies]
text_io = "0.1"