無意味にマクロで。
macro_rules! fib {
( $n:expr ) => {{
let (mut x, mut y) = (1, 0);
for _ in 0..$n {
let tmp = box x;
x += y;
y = *tmp;
}
y
}};
}
fn main() {
println!("{}", fib!(10));
}
( ՞ਊ ՞) :~/dev $ rustc --version # ちと古い rustc 1.0.0-nightly (4db0b3246 2015-02-25) (built 2015-02-26) ( ՞ਊ ՞) :~/dev $ rustc fib.rs ( ՞ਊ ՞) :~/dev $ ./fib 55