Interpolación y formato de cadenas de texto en Rust, parte 1

Vamos a explicar de manera sencilla cómo incorporar los valores de nuestras variables dentro de cadenas de texto en Rust.

Supóngase un programa que debe imprimir el nombre de un planeta y la cantidad en días de su período orbital.

fn main() {
let planeta = "Marte";
let orb = 686.971;
// Imprima la expresión
// <<Marte tiene una período orbital de 686.971 días.>>
}

La macro println! facilita la interpolación de valores dentro de cadenas de texto con el marcador de posición representado con las llaves {}:

fn main() {
let planeta = "Marte";
let orb = 686.971;
println!("{} tiene una período orbital de {} días.",
planeta,
orb);
}
>> Marte tiene una período orbital de 686.971 días.

Los valores de las variables son incorporados por la macro println! en sustitución de los marcadores de posición {} siguiendo el orden en el que fueron introducidos en la macro println!.

Parámetros posicionales

También podemos señalar con parámetros posicionales los espacios que ocuparán nuestras variables:

fn main() {
let planeta = "Marte";
let orb = 686.971;
println!("A los {1} días, {0} da una vuelta completa al Sol.",
planeta,
orb);
}
>> A los 686.971 días, Marte da una vuelta completa al Sol.

El código anterior ejemplifica que la posición de cada valor puede definirse arbitrariamente si se usan parámetros posicionales. El número de la posición de cada variable lo determina el orden en que éstas han sido introducidas en la macro println!, siendo planeta el parámetro en la posición 0 y orb en la posición 1.

Parámetros nombrados

En lugar de parámetros posicionales, también se pueden usar parámetros nombrados como en el siguiente ejemplo:

fn main() {
let planeta = "Marte";
let orb = 686.971;
println!( "A los {orbita} días, {nombre} da una vuelta completa al Sol.",
nombre=planeta,
orbita=orb);
}
>> A los 686.971 días, Marte da una vuelta completa al Sol.

Fin de la primera parte.

Segunda parte >>