mirror of https://github.com/KaiserY/trpl-zh-cn
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					48 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					48 lines
				
				1.1 KiB
			| 
											4 years ago
										 | use rand::Rng;
 | ||
|  | use std::cmp::Ordering;
 | ||
|  | use std::io;
 | ||
|  | 
 | ||
|  | fn main() {
 | ||
|  |     println!("Guess the number!");
 | ||
|  | 
 | ||
|  |     let secret_number = rand::thread_rng().gen_range(1..101);
 | ||
|  | 
 | ||
|  |     // ANCHOR: here
 | ||
|  |     loop {
 | ||
|  |         // --snip--
 | ||
|  | 
 | ||
|  |         // ANCHOR_END: here
 | ||
|  |         println!("Please input your guess.");
 | ||
|  | 
 | ||
|  |         let mut guess = String::new();
 | ||
|  | 
 | ||
|  |         io::stdin()
 | ||
|  |             .read_line(&mut guess)
 | ||
|  |             .expect("Failed to read line");
 | ||
|  | 
 | ||
|  |         // ANCHOR: here
 | ||
|  |         let guess: i32 = match guess.trim().parse() {
 | ||
|  |             Ok(num) => num,
 | ||
|  |             Err(_) => continue,
 | ||
|  |         };
 | ||
|  | 
 | ||
|  |         if guess < 1 || guess > 100 {
 | ||
|  |             println!("The secret number will be between 1 and 100.");
 | ||
|  |             continue;
 | ||
|  |         }
 | ||
|  | 
 | ||
|  |         match guess.cmp(&secret_number) {
 | ||
|  |             // --snip--
 | ||
|  |             // ANCHOR_END: here
 | ||
|  |             Ordering::Less => println!("Too small!"),
 | ||
|  |             Ordering::Greater => println!("Too big!"),
 | ||
|  |             Ordering::Equal => {
 | ||
|  |                 println!("You win!");
 | ||
|  |                 break;
 | ||
|  |             }
 | ||
|  |         }
 | ||
|  |         // ANCHOR: here
 | ||
|  |     }
 | ||
|  |     // ANCHOR_END: here
 | ||
|  | }
 |