Ich möchte wie eine Schnittstelle ein Merkmal in Rust verwenden.Mit Merkmale Methoden aus einer Struktur Implementierung
struct CPU {
r: u32,
pc: u32
}
trait Bus {
fn read(&self, address: u32) -> u32;
fn write(&self, address: u32, data: u32) -> u32;
}
impl CPU {
fn step() {
let opcode = self.read(0xffff); // use Bus trait method here
}
}
Ich muss wissen, wie man die Trait-Methoden innerhalb meiner Implementierung von CPU ohne Implementierung lesen oder schreiben in meiner CPU-Implementierung verwenden. Ich möchte diese in einer anderen Datei haben, da sie die Speicherabbildung definieren werden. Ich denke, das ist ein einfaches Problem, ich kann einfach nicht die Antwort finden, die für mich funktioniert.
Es wird ** sehr empfohlen **, dass Sie die ** ausgezeichnete ** [* The Rust Programmiersprache *] lesen (https://doc.rust-lang.org/stable/book/second-edition/) Das deckt viele dieser einführenden Fragen ab. Dies wird im Kapitel [Merkmale] behandelt (https://doc.rust-lang.org/stable/book/second-edition/ch10-02-traits.html). – Shepmaster
Ich habe die erste Ausgabe des Buches gelesen, wusste nicht, dass es eine zweite Ausgabe gab, ich muss es lesen, da sich Rust ein bisschen verändert hat, seit ich es zuletzt benutzt habe. Ich denke, mein Hauptproblem ist der Wechsel von vererbungsbasierten Sprachen zu Rust's kompositionsbasiertem Design. –