7 releases

0.2.0 Feb 22, 2022
0.1.5 Feb 19, 2022

#1691 in Rust patterns

41 downloads per month

MPL-2.0 license

9KB

input-macro

Repository Crate Page Documentation License

No-nonsense input!(...) macro for Rust.

Example

use input_macro::input;

fn main() {
    let name = input!("What's your name? ");
    println!("Hello, {name}!");

    let age: i64 = input!("How old are you today, {name}? ").parse().unwrap();

    match age {
        i if i < 0 => {
            println!("Whoah, negative age! Impressive! 🌌");
        },
        _ => {
            println!("Happy Birthday! Congratulations! 🥳");
        },
    }

    match input!("Do you like chocolate 🍫 (y/N)? ").as_str() {
        "y" | "Y" => {
            println!("Yay! I like chocolate too 🙂.");
        },
        _ => {
            println!("Oh well, all the more for me 😋.");
        },
    }
}

License

MPL v2.0, see LICENSE

No runtime deps