Ho un pezzo di codice.
struct HasName {
name: &'static str
}
trait CanGreet {
fn greet(&self);
}
impl CanGreet for HasName {
fn greet(&self) {
println!("Hello {}", self.name);
}
}
struct Person {
has_name: HasName
}
fn main() {
let person = Person {
has_name: HasName {
name: "Tristan"
}
};
person.has_name.greet();
}
Stampa nella console il nome della persona.
Anche se la mia implementazione di Rust non sembra naturale. Ho sentito parlare di Defer
, ma non sembra una grande idea.
Come lavori con la composizione in Rust?