Coin de Gamma
10 months ago
1 changed files with 33 additions and 0 deletions
@ -0,0 +1,33 @@
|
||||
struct D { |
||||
a: u32, |
||||
b: u32 |
||||
} |
||||
|
||||
impl D { |
||||
pub fn from(a: u32, b: u32) -> D { |
||||
D { a: a, b: b } |
||||
} |
||||
pub fn print(&self) { |
||||
println!("{}/{}", self.a, self.b); |
||||
} |
||||
pub fn add_n(&self, n: u32) -> D { |
||||
let aa = self.b; |
||||
return D::from(aa + self.a, self.b); |
||||
} |
||||
pub fn iter(&self) -> D { |
||||
let mut res = self.add_n(1); |
||||
let dd = D::from(res.b, res.a); |
||||
return dd.add_n(1); |
||||
} |
||||
} |
||||
|
||||
|
||||
fn main() { |
||||
let mut d = D::from(1, 2); |
||||
d = d.add_n(1); |
||||
d.print(); |
||||
for n in 0..100 { |
||||
d = d.iter(); |
||||
d.print(); |
||||
} |
||||
} |
Loading…
Reference in new issue