2个版本

0.1.1 2019年4月26日
0.1.0 2019年4月26日

#6 in #gender

Apache-2.0/MIT

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获取确认)。它们在需要轻松获取数据时也很有用。

无运行时依赖