メソッドは値に作用する一種の関数
原則的に特定の値を操作する一連のコードなので、特定の値と関連ずけする必要がある
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();
}