7 releases

0.2.8 Nov 16, 2023
0.2.7 Apr 6, 2023
0.2.5 Feb 16, 2023

#387 in Command-line interface

MIT license

9KB
54 lines

Maintenance CI crates-io api-docs dependency-status

prompted: simple prompting and input

Copyright © Bart Massey 2017 (Version 0.2.8)

This crate provides macros for easy non-newline-terminated flushed printing, and for input line reading. These macros are intended for new Rust users and for folks who need no more for simple applications.

Example

Here's an example adapted from the "Guessing Game" example in The Rust Programming Language.

use std::cmp::Ordering;
use prompted::input;

fn main() {
    println!("Guess the number!");

    let n = 100;
    let secret_number = 37;

    loop {
        let guess = input!("Please input your guess (1-{}): ", n);

        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => continue,
        };

        println!("You guessed: {}", guess);

        match guess.cmp(&secret_number) {
            Ordering::Less => println!("Too small!"),
            Ordering::Greater => println!("Too big!"),
            Ordering::Equal => {
                println!("You win!");
                break;
            }
        }
    }
}

License

This work is licensed under the "MIT License". Please see the file LICENSE in the source distribution of this software for license terms.

Acknowledgments

Thanks to the cargo-readme crate for generation of this README.

No runtime deps