From e620daf3b1a40ae825c625bc4328fb7d2b3ee8b6 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 2 Jul 2014 02:54:21 -0400 Subject: initial commit --- examples/02_sample.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 examples/02_sample.rs (limited to 'examples/02_sample.rs') diff --git a/examples/02_sample.rs b/examples/02_sample.rs new file mode 100644 index 0000000..4df0563 --- /dev/null +++ b/examples/02_sample.rs @@ -0,0 +1,22 @@ +fn main() { + // A simple integer calculator: + // `+` or `-` means add or subtract by 1 + // `*` or `/` means multiply or divide by 2 + + let program = "+ + * - /"; + let mut accumulator = 0i; + + for token in program.chars() { + match token { + '+' => accumulator += 1, + '-' => accumulator -= 1, + '*' => accumulator *= 2, + '/' => accumulator /= 2, + _ => { /* ignore everything else */ } + } + } + + println!("The program \"{}\" calculates the value {}", + program, accumulator); +} + -- cgit v1.2.3