Rust 0.9
例のごとくFizzBuzz
// for Rust 0.9 fn main() { let (port, chan) = SharedChan::new(); for i in range(0, 100) { let chan = chan.clone(); do spawn { let i = i + 1; let b = match (i % 3, i % 5) { (0, 0) => ~"FizzBuzz", (0, _) => ~"Fizz", (_, 0) => ~"Buzz", _ => i.to_str() }; chan.send((i, b)); } } let mut res = ~[]; 100.times(|| { res.push(port.recv()); }); res.sort_by(|t, u| t.first().cmp(&u.first())); for t in res.iter() { std::io::println(t.second()); } }
細かい部分が変わる。do文はprocに対してだけ使えるようになった。