Ruggine e composizione [chiusa]

-4

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?

    
posta Tristan Caron 26.04.2017 - 17:58
fonte

1 risposta

-2
impl CanGreet for Person {
    fn greet(&self) {
        self.has_name.greet()
    }
}

Quindi puoi solo person.greet() .

    
risposta data 26.04.2017 - 19:00
fonte

Leggi altre domande sui tag