うろ覚えで書くと
#[derive(Clone, Copy)]
pub struct Banana {
// 略
}
pub fn get_banana(&self) -> Banana {
self.banana
}
こんな感じでバナナのコピーを返して
boss.get_banana().change_color();
こんな雰囲気で バナナのプロパティを変えても 'boss' のバナナのプロパティは変わらないのだった。
// いろいろ略。
pub fn change_banana_color(&mut self) {
self.banana.change_color()
}
// こう使う。
boss.change_banana_color();
こうラッピングするのが いいのか☆(^~^)?