Rullst AcademyRullst Academy/Lección
Rust: de la idea al programa · Lección 06 / 08

Prestar sin perder el texto

Quieres mostrar el nombre del robot en dos mensajes. Una función puede consultar el texto sin tomar posesión de él.

Rutas de aprendizaje11 min

Vamos a descubrir juntos

  1. 1

    String posee texto que puede construirse durante la ejecución. let name = String::from("Robo"); crea ese valor y da su posesión a name.

  2. 2

    Pasar name a una función que recibe String mueve el valor a ella. Sin recuperarlo no podemos seguir usando el vínculo anterior. El compilador verifica esa regla.

  3. 3

    Una función que recibe &str solo necesita consultar texto. Llamar show(&name) lo presta: Rust permite esa referencia a String donde se espera &str. La función no toma posesión de name.

  4. 4

    name.clone() crea otra String con su propio texto. Eso es distinto de prestar. Enteros como u32 son Copy: copiarlos no sigue el comportamiento de movimiento de String.

✦
TU MISIÓN

Elige un préstamo de texto y distingue mover, prestar y clonar explícitamente.

Ahora te toca

Taller de descubrimientos

Dos mensajes, un nombre

Tenemos let name = String::from("Robo"); y fn show(name: &str). Queremos llamar show y usar name de nuevo.
Tu fragmento en construcción
let name = String::from("Robo");
show({1});
println!("{name}");
Prepara tus respuestas y comprueba cuando estés listo.
Una pausa para entender

Si la función solo necesita leer el nombre, ¿qué interfaz expresa esa intención?

Necesito una pista

Una referencia permite consultar sin tomar posesión del texto.

Cargando tu camino…

Llévatelo contigo

Explica por qué prestar texto basta para imprimirlo. En el proyecto final, busca la función que recibe &str e identifica quién sigue siendo dueño de String.

Quiero ver el Rust que hay detrás

Esta parte es opcional. No necesitas memorizar el código para continuar.

fn show(name: &str) {
    println!("{name}");
}

fn main() {
    let name = String::from("Robo");
    show(&name);
    println!("{name}");
}
A tu ritmo

Mis archivos y GitHub

Cada lección puede convertirse en un registro propio: código, notas o un plan de práctica. Guardar un archivo en GitHub es opcional y no cambia tus XP.

Manual del alumno

El editor y las descargas se abren cuando esta lección esté disponible para tu cuenta. Revisa el acceso indicado abajo o vuelve al mapa de la ruta.

Comprobando tu acceso a esta lección…

Rullstpetbot

La IA puede equivocarse. Consulta el material de la lección.