Menu
Coddy logo textTech

Macro format!

Parte de la sección Fundamentals del Journey de Rust de Coddy. Lección 70 de 75.

En Rust, la macro format! permite combinar texto con variables de una manera legible y personalizable. Esta macro es similar a println!, pero en lugar de imprimir la salida en la consola, devuelve una cadena formateada que puedes almacenar en una variable o utilizar en otras operaciones.

La sintaxis más simple utiliza marcadores de posición sin nombre {}:

let name = "Alice";
let age = 30;

let formatted = format!("Name: {}, Age: {}", name, age);
println!("{}", formatted);
// Salida: Name: Alice, Age: 30

Puedes usar nombres de variables directamente en los marcadores de posición:

let name = "Bob";
let age = 25;

let formatted = format!("Name: {name}, Age: {age}");
println!("{}", formatted);
// Salida: Name: Bob, Age: 25

Puedes especificar la posición de los argumentos usando números:

let formatted = format!("{1} {0} {2}", "first", "second", "third");
println!("{}", formatted);
// Salida: second first third

Puedes controlar cómo se formatean los valores utilizando especificadores de formato:

// Formateo de números
let pi = 3.1415926;
let formatted_float = format!("{:.2}", pi);
// "3.14"

// Relleno con ceros
let padded = format!("{:0>5}", "123");
// "00123"
challenge icon

Desafío

Fácil

Crea un programa que genere un código secreto a partir de un nombre y un año de nacimiento utilizando estas reglas exactas:

  • Toma la primera letra del nombre y la convierte en mayúscula
  • Invierte los dígitos del año
  • Envuelve la primera letra con símbolos "⭐"
  • Añade un "-" entre la letra envuelta y el año invertido

Para invertir una cadena, utiliza el siguiente código: .to_string().chars().rev().collect::<String>()

Pruébalo tú mismo

use std::io;


fn main() {
    let mut input_name = String::new();
    let mut input_year = String::new();
    io::stdin().read_line(&mut input_name).unwrap();
    io::stdin().read_line(&mut input_year).unwrap();
    let name = input_name.trim();
    let year: i32 = input_year.trim().parse().unwrap();

    // Escribe tu código debajo
    
    
    let secret_code =
    println!("{}", secret_code);
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals

Practica por tu cuenta: Compilador de Rust online