Skip to content

Instantly share code, notes, and snippets.

@mattdeboard
Last active August 29, 2015 14:09
Show Gist options
  • Save mattdeboard/5bea37cbfffa4ec69683 to your computer and use it in GitHub Desktop.
Save mattdeboard/5bea37cbfffa4ec69683 to your computer and use it in GitHub Desktop.
struct FizzBuzzinificationator {
vals: std::iter::Range<int>
}
impl FizzBuzzinificationator {
fn fizzbuzzmaybe (&self, x: int) -> &'static str {
if x % 3i == 0i && x % 5i == 0i { "FizzBuzz" }
else if x % 3i == 0i { "Fizz" }
else if x % 5i == 0i { "Buzz" }
else { "" }
}
fn do_the_needful(&self) {
let mut vals = self.vals;
for i in vals {
let result: &str = self.fizzbuzzmaybe(i);
if result == "" { continue; };
println!("{} {}", i, result)
}
}
}
fn main() {
let fbi: FizzBuzzinificationator = FizzBuzzinificationator {
vals: range(0i, 100i)
};
fbi.do_the_needful()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment