Menu
Coddy logo textTech

Macro format!

Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 70 di 75.

In Rust, la macro format! ti consente di combinare testo e variabili in modo leggibile e personalizzabile. Questa macro è simile a println!, ma invece di stampare l'output nella console, restituisce una stringa formattata che puoi memorizzare in una variabile o usare in altre operazioni.

La sintassi più semplice usa segnaposto senza nome {}:

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

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

Puoi usare direttamente i nomi delle variabili nei segnaposto:

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

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

Puoi specificare la posizione degli argomenti usando dei numeri:

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

Puoi controllare il modo in cui i valori vengono formattati usando gli specificatori di formato:

// Formattazione dei numeri
let pi = 3.1415926;
let formatted_float = format!("{:.2}", pi);
// "3.14"

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

Sfida

Facile

Crea un programma che generi un codice segreto a partire da un nome e dall'anno di nascita seguendo queste regole precise:

  • Prende la prima lettera del nome e la rende maiuscola
  • Inverte le cifre dell'anno
  • Racchiude la prima lettera tra i simboli "⭐"
  • Aggiunge un "-" tra la lettera racchiusa e l'anno invertito

Per invertire una stringa, usa il seguente codice: .to_string().chars().rev().collect::<String>()

Provalo tu

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();

    // Scrivi il tuo codice qui sotto
    
    
    let secret_code =
    println!("{}", secret_code);
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Rust online