@@ -400,7 +400,7 @@ a function for that:
400
400
let input = old_io::stdin().read_line ()
401
401
.ok ()
402
402
.expect(" Failed to read line" );
403
- let input_num: Option < u32> = input.parse().ok ();
403
+ let input_num: Result < u32, _ > = input.parse ();
404
404
` ` `
405
405
406
406
The ` parse` function takes in a ` & str` value and converts it into something.
@@ -422,8 +422,8 @@ In this case, we say `x` is a `u32` explicitly, so Rust is able to properly
422
422
tell ` random()` what to generate. In a similar fashion, both of these work:
423
423
424
424
` ` ` {rust,ignore}
425
- let input_num = " 5" .parse::< u32> ().ok() ; // input_num: Option< u32>
426
- let input_num: Option < u32> = " 5" .parse().ok() ; // input_num: Option < u32>
425
+ let input_num = " 5" .parse::< u32> (); // input_num: Option< u32>
426
+ let input_num: Result < u32, _ > = " 5" .parse(); // input_num: Result < u32, < u32 as FromStr > ::Err >
427
427
` ` `
428
428
429
429
Here we' re converting the `Result` returned by `parse` to an `Option` by using
@@ -447,9 +447,9 @@ fn main() {
447
447
let input = old_io::stdin().read_line()
448
448
.ok()
449
449
.expect("Failed to read line");
450
- let input_num: Option <u32> = input.parse().ok ();
450
+ let input_num: Result <u32, _ > = input.parse();
451
451
452
- println!("You guessed: {}", input_num);
452
+ println!("You guessed: {:? }", input_num);
453
453
454
454
match cmp(input_num, secret_number) {
455
455
Ordering::Less => println!("Too small!"),
@@ -497,11 +497,11 @@ fn main() {
497
497
let input = old_io::stdin().read_line ()
498
498
.ok ()
499
499
.expect(" Failed to read line" );
500
- let input_num: Option < u32> = input.parse().ok ();
500
+ let input_num: Result < u32, _ > = input.parse ();
501
501
502
502
let num = match input_num {
503
- Some (num) => num,
504
- None => {
503
+ Ok (num) => num,
504
+ Err(_) => {
505
505
println! (" Please input a number!" );
506
506
return ;
507
507
}
@@ -564,11 +564,11 @@ fn main() {
564
564
let input = old_io::stdin().read_line ()
565
565
.ok ()
566
566
.expect(" Failed to read line" );
567
- let input_num: Option < u32> = input.trim().parse().ok ();
567
+ let input_num: Result < u32, _ > = input.trim().parse ();
568
568
569
569
let num = match input_num {
570
- Some (num) => num,
571
- None => {
570
+ Ok (num) => num,
571
+ Err(_) => {
572
572
println! (" Please input a number!" );
573
573
return ;
574
574
}
@@ -640,11 +640,11 @@ fn main() {
640
640
let input = old_io::stdin().read_line()
641
641
.ok()
642
642
.expect("Failed to read line");
643
- let input_num: Option <u32> = input.trim().parse().ok ();
643
+ let input_num: Result <u32, _ > = input.trim().parse();
644
644
645
645
let num = match input_num {
646
- Some (num) => num,
647
- None => {
646
+ Ok (num) => num,
647
+ Err(_) => {
648
648
println!("Please input a number!");
649
649
return;
650
650
}
@@ -716,11 +716,11 @@ fn main() {
716
716
let input = old_io::stdin().read_line ()
717
717
.ok ()
718
718
.expect(" Failed to read line" );
719
- let input_num: Option < u32> = input.trim().parse().ok ();
719
+ let input_num: Result < u32, _ > = input.trim().parse ();
720
720
721
721
let num = match input_num {
722
- Some (num) => num,
723
- None => {
722
+ Ok (num) => num,
723
+ Err(_) => {
724
724
println! (" Please input a number!" );
725
725
return ;
726
726
}
@@ -772,11 +772,11 @@ fn main() {
772
772
let input = old_io::stdin().read_line ()
773
773
.ok ()
774
774
.expect(" Failed to read line" );
775
- let input_num: Option < u32> = input.trim().parse().ok ();
775
+ let input_num: Result < u32, _ > = input.trim().parse ();
776
776
777
777
let num = match input_num {
778
- Some (num) => num,
779
- None => {
778
+ Ok (num) => num,
779
+ Err(_) => {
780
780
println! (" Please input a number!" );
781
781
continue ;
782
782
}
@@ -849,11 +849,11 @@ fn main() {
849
849
let input = old_io::stdin().read_line ()
850
850
.ok ()
851
851
.expect(" Failed to read line" );
852
- let input_num: Option < u32> = input.trim().parse().ok ();
852
+ let input_num: Result < u32, _ > = input.trim().parse ();
853
853
854
854
let num = match input_num {
855
- Some (num) => num,
856
- None => {
855
+ Ok (num) => num,
856
+ Err(_) => {
857
857
println! (" Please input a number!" );
858
858
continue ;
859
859
}
0 commit comments