Skip to content

Instantly share code, notes, and snippets.

@tonis2
Last active October 23, 2016 17:32
Show Gist options
  • Save tonis2/8b68e4034f22d619dc39a1f91b47fbdb to your computer and use it in GitHub Desktop.
Save tonis2/8b68e4034f22d619dc39a1f91b47fbdb to your computer and use it in GitHub Desktop.
mutate rust struct
#![allow(dead_code)]
struct Car {
name: String,
seats: i32,
speed: i32,
}
impl Car {
fn drive(&self) {
println!("{name} drives at speed: {speed} km/h", speed = self.speed, name = self.name);
}
fn build(name: String, seats: i32, speed: i32) -> Car {
Car {
name : name,
seats : seats,
speed : speed
}
}
fn change_speed(&mut self, speed: i32) {
self.speed = speed;
}
fn change_car(&mut self, name: String) {
self.name = name;
}
}
fn main() {
let mut car = Car::build("Porche".to_string(), 2, 200);
car.drive();
car.change_speed(120);
car.change_car("Lada".to_string());
car.drive();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment