blob: 6984a27a0e6d39fd15f9168ef0c3d72ecaaf8a91 [file] [log] [blame]
use std::thread;
use std::time::Duration;
fn generate_workout(intensity: u32, random_number: u32) {
// ANCHOR: here
let expensive_closure = |num| {
println!("calculating slowly...");
thread::sleep(Duration::from_secs(2));
num
};
// ANCHOR_END: here
if intensity < 25 {
println!("Today, do {} pushups!", expensive_closure(intensity));
println!("Next, do {} situps!", expensive_closure(intensity));
} else {
if random_number == 3 {
println!("Take a break today! Remember to stay hydrated!");
} else {
println!(
"Today, run for {} minutes!",
expensive_closure(intensity)
);
}
}
}
fn main() {
let simulated_user_specified_value = 10;
let simulated_random_number = 7;
generate_workout(simulated_user_specified_value, simulated_random_number);
}