]> git.proxmox.com Git - rustc.git/blob - src/doc/book/listings/ch13-functional-features/listing-13-03/src/main.rs
New upstream version 1.43.0+dfsg1
[rustc.git] / src / doc / book / listings / ch13-functional-features / listing-13-03 / src / main.rs
1 use std::thread;
2 use std::time::Duration;
3
4 fn simulated_expensive_calculation(intensity: u32) -> u32 {
5 println!("calculating slowly...");
6 thread::sleep(Duration::from_secs(2));
7 intensity
8 }
9
10 // ANCHOR: here
11 fn generate_workout(intensity: u32, random_number: u32) {
12 if intensity < 25 {
13 println!(
14 "Today, do {} pushups!",
15 simulated_expensive_calculation(intensity)
16 );
17 println!(
18 "Next, do {} situps!",
19 simulated_expensive_calculation(intensity)
20 );
21 } else {
22 if random_number == 3 {
23 println!("Take a break today! Remember to stay hydrated!");
24 } else {
25 println!(
26 "Today, run for {} minutes!",
27 simulated_expensive_calculation(intensity)
28 );
29 }
30 }
31 }
32 // ANCHOR_END: here
33
34 fn main() {
35 let simulated_user_specified_value = 10;
36 let simulated_random_number = 7;
37
38 generate_workout(simulated_user_specified_value, simulated_random_number);
39 }