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: 30Puedes 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: 25Puedes especificar la posición de los argumentos usando números:
let formatted = format!("{1} {0} {2}", "first", "second", "third");
println!("{}", formatted);
// Salida: second first thirdPuedes 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"Desafío
FácilCrea 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);
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores Parte 1
Operadores aritméticosOperador de móduloAtajos aritméticosOperadores de comparaciónComparación de strings5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaInferencia de tiposResumen - Inicializar variablesConversión de tipos9Bucles
For sobre seriesBucle WhileBreakContinueBucle anidadoEtiquetas de bucleBucle infinitoResumen - Entrada dinámicaPractica por tu cuenta: Compilador de Rust online