7 个版本
0.3.0 | 2021 年 7 月 13 日 |
---|---|
0.2.1 | 2020 年 8 月 12 日 |
0.2.0 | 2019 年 11 月 23 日 |
0.1.7 | 2019 年 11 月 23 日 |
#1 in #gets
被用于 ironkey
10KB
scanrs
一个简单的 Rust 库,用于轻松处理标准输入。
这是什么?
这个包受到了这个项目的启发,因此它只依赖于标准库,任何额外的工作都应该手动完成或挑选出来,以避免增加如此简单包的负担。
https://www.reddit.com/r/rust/comments/dy365h/only_one_wish_for_rust_2020/
scanrs 是一个小巧实用的 Rust 包,简化了用户输入的处理。
Rust 读取标准输入的方式相当“奇特”,尽管在终端应用程序中请求用户输入略显过时。
但在某些情况下或初学者练习中,请求适当的输入是必要的,遗憾的是,在 Rust 中这样做会导致程序变得非常冗长。
这个库旨在使读取标准原始类型变得更加容易,使其更快、更易于理解且更轻量级。
如何使用它?
这个包没有太多技术性,因此使用起来相当简单,只需调用所需的函数即可。
Rust 中读取用户输入的一种方式
在 Rust 中读取用户输入的一种简单方法是通过处理错误(或使用直接的 unwrap
)。
let mut number = String::new();
io::stdin().read_line(&mut number).expect("IO Failure");
let number: f64 = match number.trim().parse() {
Ok(num) => num,
Err(_) => panic!("Not a number!"),
};
但是,当需要读取多个变量时,这会变得有点冗长,因此可以使用这个包。
use scanrs::scann;
fn main() {
println!("Please input a number");
let num = scann();
println!("You entered {}", num);
}
它可以处理哪些原始类型?
当前可用函数
-
scann
:从 stdin 读取数字。 -
scanvec
:扫描由空白字符分隔的元素列表 -
scanln
:扫描字符串
待办事项
- 使此功能支持泛型,以便函数可以读取任何类型。
- 为这个包添加颜色,以便发送花哨的错误。