Wie wiederholt man einen String mehrmals in Rust? Beispiel mit Multiplikation eines Strings mit einer Zahl
Hallo Kollegen! Ich habe gerade angefangen, Rust zu lernen, und bin auf ein unerwartetes Problem gestoßen. In Python bin ich es gewohnt, so etwas wie `"hello" * 3` zu schreiben, um `"hellohellohello"` zu erhalten. In Rust habe ich versucht, dasselbe zu tun:
```rust
fn main() {
let s = "hello" * 3;
println!("{}", s);
}
```
Aber der Compiler gibt einen Fehler aus: `cannot multiply `&str` by `{integer}``. Ich verstehe, dass Rust eine streng typisierte Sprache ist und die Multiplikation von Strings mit Zahlen standardmäßig nicht definiert ist, aber wie wiederholt man dann richtig einen String mehrmals?
Ich habe gelesen, dass es in Rust Traits und Methoden gibt, aber ich habe mich noch nicht damit vertraut gemacht. Ich muss einen String dynamisch wiederholen, zum Beispiel um einen Trenner in der Ausgabe zu erstellen: `"---"` 10 Mal wiederholen, um einen String aus 30 Bindestrichen zu erhalten. Außerdem würde ich gerne verstehen, wie man das effizient macht, ohne unnötige Allokationen, wenn der String groß ist.
Könnt ihr mir bitte sagen, wie man diese Aufgabe in Rust richtig löst? Gibt es eine eingebaute Funktion oder ein Makro dafür? Oder muss ich meine eigene Implementierung über eine Schleife schreiben?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs