Aprendiendo Rust

Este programa es un juego de adivinar un número aleatorio que se genera mediante la función rand (aunque aún no se exactamente que es) pero la idea es generar un ciclo que permita capturar un número que indica el usuario para intentar adivinar ese número que se generó. El programa indica si el número dado es mas grande o más pequeño que el número a adivinar y se finaliza el programa cuando se acierta. También se puede finalizar el programa cuando se teclea la palabra «quit».

Aprendiendo Rust

Es uno de los programa iniciales que se presenta el en capítulo segundo del libro «The Rust Programming Language» en el que puedes aprender este lenguaje. Mi programa tiene unas pequeñas modificaciones pero en general la idea es la misma que se presenta en el libro.

use std::io;
use rand::Rng;
use std::cmp::Ordering;

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

    let secret_number = rand::thread_rng().gen_range(1, 101);
    let quit = "quit".to_string();

    loop {
        println!("Please input your guess.");

	let mut guess = String::new();

        io::stdin().read_line(&mut guess)
             .expect("Failed to read the line");

        // The read_line input adds a /n character so it is needed to trim it.
        if guess.trim() == quit {
            break;
        }

        let number: u32 = match guess.trim().parse() {
                              Ok(num) => num,
                              Err(_) => continue,
                          };
              
        println!("You guessed: {}", guess);
 
        match number.cmp(&secret_number) {
            Ordering::Less => println!("Too Small!"),
            Ordering::Greater => println!("Too big!"),
            Ordering::Equal => {
                println!("You win!");
                break;
            }
        }
    }
}

Una demostración de este programa en ejecución te la presento en la siguiente imagen animada donde te muestro como de ingresa un número y luego salgo del programa al teclear «quit» para luego ejecutarlo de nuevo, tecleo una serie de números hasta que adivino cual es el número secreto y luego el programa termina.

This entry was posted in Blog and tagged , . Bookmark the permalink.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*