Avatar ·

¿Cómo repetir una cadena varias veces en Rust? Ejemplo con multiplicación de cadena por número

¡Hola, colegas! Acabo de empezar a aprender Rust y me encontré con un problema inesperado. En Python estoy acostumbrado a escribir algo como `"hello" * 3` para obtener `"hellohellohello"`. En Rust intenté hacer lo mismo: ```rust fn main() { let s = "hello" * 3; println!("{}", s); } ``` Pero el compilador da un error: `cannot multiply `&str` by `{integer}``. Entiendo que Rust es un lenguaje fuertemente tipado y la multiplicación de cadenas por números no está definida por defecto, pero ¿cómo se repite correctamente una cadena varias veces? He leído que en Rust hay traits y métodos, pero aún no lo he resuelto. Necesito repetir una cadena dinámicamente, por ejemplo, para crear un separador en la salida: repetir `"---"` 10 veces para obtener una cadena de 30 guiones. También me gustaría entender cómo hacerlo de manera eficiente, sin asignaciones innecesarias, si la cadena es grande. Por favor, indíquenme cómo resolver correctamente esta tarea en Rust. ¿Hay una función incorporada o un macro para esto? ¿O necesito escribir mi propia implementación con un bucle? Gracias de antemano.