Skip to content

Instantly share code, notes, and snippets.

@HiroNakamura
Last active March 19, 2023 17:49
Show Gist options
  • Save HiroNakamura/f50734f034646f32c8486ebf67b1b80b to your computer and use it in GitHub Desktop.
Save HiroNakamura/f50734f034646f32c8486ebf67b1b80b to your computer and use it in GitHub Desktop.
Rust for beginners

Rust

Programando en Rust

Rust

Mostrar versión

rustc --version

Compilar

rustc programa.rs

Ejecutar

./programa

Cargo

Mostrar versión

cargo --version

Crear nuevo proyecto

cargo new poyecto -bin

Construir

cargo build

Ejecutar

cargo run

Enlaces

[package]
name = "mi_paquete"
version = "0.1.0"
edition = "2021"
authors = ["Hironakamura <hironakamura.git@gmail.com>"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rand = "0.8"
use std::io;
use rand::Rng;
use std :: cmp :: Ordering;
/**
* Programa principal del proyecto.
*/
fn main(){
adivina_numero();
obtener_promocion();
}
fn obtener_promocion(){
let mensajes = ["Obtuviste un 50% de descuento en el curso de Rust.","Obtuviste el 12% de descuento en el curso de Java.","Obtuviste el 25% de descuento en el curso de Spring Boot.","Obtuviste el 100% de descuento en el curso de PHP.","Obtuviste el 10% de descuento en el curso de Javascript.","Obtuviste el 15% de descuento en el curso de Rect JS."];
let indice = rand::thread_rng().gen_range(0..mensajes.len());
println!("{}", mensajes[indice]);
}
fn adivina_numero() {
println!("\t [ Programando en Rust & Cargo ]");
print!("\t [ Adivina un número] \n");
print!("\t Introduce numero: \n");
let random = rand::thread_rng().gen_range(0..100);
let mut numero_str = String::new();
io::stdin().read_line(& mut numero_str).ok()
.expect("Ha fallado la lectura del numero.");
println!("\tNúmero a adivinar: {}", random);
let numero_int:i32 = numero_str.trim().parse()
.expect("Por favor, introduce un numero.");
print!("\nEl numero introducido es: {}",numero_int);
if numero_int == random {
println!("\nSon iguales, ganaste.");
}else if numero_int > random{
println!("\nEs mayor. Intentalo otra vez.");
}else{
println!("\nEs menor. Intentalo otra vez.");
}
match numero_int.cmp (& random) {
Ordering :: Less => println! ("Muy bajo."),
Ordering :: Greater => println! ("Muy alto."),
Ordering :: Equal => println! ("Ganaste."),
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment