Saltar al contenido principal

Utilidades o helpers

Parsear valores

  • El método parse en las cadenas convierte una cadena en otro tipo, el tipo se debe especificar al declarar la variable, así se inferirá su valor
  • El método parse devuelve un Result ya que podría fallar al hacer la conversión, porque solo convierte a números
  • El método trim elimina \n o \r\n
  • Shadowing, comunmente usado al convertir valores
let mut input: String = String::new();
io::stdin()
.read_line(&mut input)
.expect("Failed to read line");

// Shadowing, commonly used when converting values
let input: u8 = input.trim().parse().unwrap_or(0);
let mut input = String::new();
io::stdin()
.read_line(&mut input)
.expect("Failed to read line");
 
let input: u8 = input.trim().parse().expect("Only numbers allowed");

Calcular tiempo de ejecución

fn main() {
    const LIMIT: u64 = 100_000_000;
    let mut counter = 0;

    let start = std::time::Instant::now();
    while counter < LIMIT {
        counter += 1;
    }
    let end = std::time::Instant::now();

    println!("Ciclo terminado en: {:?}", end.duration_since(start));
}

Formatter

rustfmt.toml
tab_spaces = 2 # Default 4