游戏的最小示例,玩家拥有一个位置并随着时间的流逝而走动。编译如下:
use std::thread::sleep;
use std::time::Duration;
struct Player {
position: usize,
}
impl Player {
fn new() -> Self {
Self { position: 0 }
}
}
impl Player {
fn get_position(&self) -> usize {
self.position
}
}
impl Player {
fn walk(&mut self) {
self.position += 1;
}
}
fn main() {
let mut player = Player::new();
loop {
player.walk();
sleep(Duration::from_secs(1));
}
}
Run Code Online (Sandbox Code Playgroud)
如果玩家借用该位置而不是拥有它,则不会编译:
use std::thread::sleep;
use std::time::Duration;
struct Player<'a> {
position: &'a mut usize,
}
impl<'a> Player<'a> {
fn …Run Code Online (Sandbox Code Playgroud)