Wie man die Traits Iterator und IntoIterator für eine einfache Struktur in Rust implementiert?
Hallo zusammen! Ich habe angefangen, Rust zu lernen, und bin auf ein Problem bei der Implementierung eigener Iteratoren gestoßen. Ich habe eine einfache Struktur `BookCollection`, die eine Liste von Büchern speichert. Ich möchte, dass diese Struktur in einer `for`-Schleife verwendet werden kann und auch an Funktionen übergeben werden kann, die Iteratoren erwarten. Aber der Compiler gibt Fehler aus.
Hier ist mein Code:
```rust
struct Book {
title: String,
author: String,
}
struct BookCollection {
books: Vec,
}
impl BookCollection {
fn new() -> Self {
BookCollection { books: Vec::new() }
}
fn add_book(&mut self, book: Book) {
self.books.push(book);
}
}
fn main() {
let mut collection = BookCollection::new();
collection.add_book(Book { title: "1984".to_string(), author: "Orwell".to_string() });
collection.add_book(Book { title: "Dune".to_string(), author: "Herbert".to_string() });
// Ich möchte das so machen:
for book in collection {
println!("{} by {}", book.titl
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen