kubo39's blog

ただの雑記です。

フィボナッチ rust版

無意味にマクロで。

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