#[macro_use] extern crate scan_rules;
use scan_rules::scanner::Word;
fn main() {
print!("What's your name? ");
let name: String = readln! { (let name: Word<String>) => name };
print!("Hi, {}. How old are you? ", name);
readln! {
(let age) => {
let age: i32 = age;
println!("{} years old, huh? Neat.", age);
},
(..other) => println!("`{}` doesn't *look* like a number...", other),
}
question_three();
}
#[cfg(macro_inter_stmt_binding_visibility)]
fn question_three() {
print!("Ok. What... is your favourite colour? (R, G, B): ");
let_readln!(let r: f32, ",", let g: f32, ",", let b: f32);
if !(g < r && g < b && b >= r * 0.25 && b <= r * 0.75) {
println!("Purple's better.");
} else {
println!("Good choice!");
}
}
#[cfg(not(macro_inter_stmt_binding_visibility))]
fn question_three() {}