]>
git.proxmox.com Git - rustc.git/blob - src/doc/book/listings/ch09-error-handling/listing-09-13/src/main.rs
2 use std
::cmp
::Ordering
;
11 pub fn new(value
: i32) -> Guess
{
12 if value
< 1 || value
> 100 {
13 panic
!("Guess value must be between 1 and 100, got {}.", value
);
19 pub fn value(&self) -> i32 {
26 println
!("Guess the number!");
28 let secret_number
= rand
::thread_rng().gen_range(1..=100);
31 println
!("Please input your guess.");
33 let mut guess
= String
::new();
36 .read_line(&mut guess
)
37 .expect("Failed to read line");
39 let guess
: i32 = match guess
.trim().parse() {
44 let guess
= Guess
::new(guess
);
46 match guess
.value().cmp(&secret_number
) {
47 Ordering
::Less
=> println
!("Too small!"),
48 Ordering
::Greater
=> println
!("Too big!"),