2个版本
0.1.1 | 2019年4月26日 |
---|---|
0.1.0 | 2019年4月26日 |
#6 in #gender
10KB
116 行
通过命令行从人类获取输入。
示例
use std::io;
#[derive(Debug)]
pub enum Gender {
Male,
Female,
Other,
}
#[derive(Debug)]
pub struct Person {
name: String,
age: u16,
gender: Gender,
}
fn main() -> Result<(), io::Error> {
let name = read_human::read_string_nonempty("What is your name")?;
let age = read_human::read_custom_nonempty("What is your age")?;
let gender =
match read_human::read_choice("What is your gender", &["male", "female", "other"], None)? {
0 => Gender::Male,
1 => Gender::Female,
2 => Gender::Other,
_ => unreachable!(),
};
let person = Person { name, age, gender };
println!("{:?}", person);
Ok(())
}
查看examples/simple.rs
以获取更复杂的示例。
lib.rs
:
从stdin获取人类数据。
此库提供了从人类获取信息的方法。它们都在缓冲输入行上工作(除非您将它们置于不同的模式,否则终端就是这样工作的)。它们对于构建简单的交互式命令行应用程序很有用(例如,如何在arch linux的系统升级期间通过pacman获取确认)。它们在需要轻松获取数据时也很有用。