DEV Community

loading...
Cover image for Interpolación y formato de cadenas de texto en Rust, parte 1

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

marioeninternet profile image Mario Martínez Updated on ・2 min read

La interpolación de los valores de nuestras variables dentro de cadenas de texto en Rust es una operación básica perfectamente ilustrada en el libro. Quiero explorar un poquito más otros aspectos referentes al tema, en particular las opciones relacionadas con el posicionamiento de los parámetros y algunos ejemplos de formateo de la salida de texto.

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.>>
}
Enter fullscreen mode Exit fullscreen mode

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);
}
Enter fullscreen mode Exit fullscreen mode
>> Marte tiene una período orbital de 686.971 días.
Enter fullscreen mode Exit fullscreen mode

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.

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);
}
Enter fullscreen mode Exit fullscreen mode
>> A los 686.971 días, Marte da una vuelta completa al Sol.
Enter fullscreen mode Exit fullscreen mode

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);
}
Enter fullscreen mode Exit fullscreen mode
>> A los 686.971 días, Marte da una vuelta completa al Sol.
Enter fullscreen mode Exit fullscreen mode

En la segunda parte, veremos algunos casos de formateo de valores.


Nota: el texto fue publicado originalmente el 18 de julio de 2017 en Medium y lo he migrado a Dev.to el 11 de septiembre de 2019 con actualizaciones mínimas.

Discussion (0)

Forem Open with the Forem app