メソッドは値に作用する一種の関数
原則的に特定の値を操作する一連のコードなので、特定の値と関連ずけする必要がある
struct Point { x: i32, y: i32, } impl Point { fn print(&self) { println!("({}, {})", self.x, self.y); } } fn main() { let p = Point {x:10, y:20}; p.print(); }
### 引数と戻り値を伴うメソッド
struct Point { x: i32, y: i32, } impl Point { fn print(&self) { println!("({}, {})", self.x, self.y); } fn mult(&self, n:i32) -> (i32, i32){ let a = self.x * n; let b = self.y * n; (a, b) } } fn main() { let p = Point {x:10, y:20}; p.print(); let v = p.mult(2); println!("{:?}", v); let p2 = Point {x:(v.0), y:(v.1)}; p2.print(); }