Guest User

Untitled

a guest
Aug 2nd, 2013
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. struct Vector2 {
  2. x: int,
  3. y: int
  4. }
  5.  
  6. impl Vector2 {
  7. pub fn new(xs: int, ys: int) -> Vector2 {
  8. Vector2 {
  9. x: xs,
  10. y: ys
  11. }
  12. }
  13.  
  14. fn add(&self, otr: Vector2) -> &Vector2 {
  15. self.x += otr.x; // cannot assign to immutable field
  16. self.y += otr.y; // cannot assign to immutable field
  17. return self; // lifetime mismatch
  18. }
  19. }
  20.  
  21. fn main() {
  22. let mut vec1 = Vector2::new(42, 12);
  23. println(fmt!("vec1 = [x: %?, y: %?]", vec1.x, vec1.y));
  24.  
  25. let vec2 = Vector2::new(13, 34);
  26. println(fmt!("vec2 = [x: %?, y: %?]", vec2.x, vec2.y));
  27.  
  28. let vec3 = vec1.add(vec2);
  29. println(fmt!("vec1 + vec2 = [x: %?, y: %?]", vec3.x, vec3.y))
  30. }
Advertisement
Add Comment
Please, Sign In to add comment