@@ -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 ();
403
+ let input_num: Option< u32> = input.parse().ok () ;
404
404
` ` `
405
405
406
406
The ` parse` function takes in a ` & str` value and converts it into something.
@@ -422,11 +422,13 @@ 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> (); // input_num: Option< u32>
426
- let input_num: Option< u32> = " 5" .parse(); // input_num: Option< u32>
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>
427
427
` ` `
428
428
429
- Anyway, with us now converting our input to a number, our code looks like this:
429
+ Here we' re converting the `Result` returned by `parse` to an `Option` by using
430
+ the `ok` method as well. Anyway, with us now converting our input to a number,
431
+ our code looks like this:
430
432
431
433
```{rust,ignore}
432
434
use std::old_io;
@@ -445,7 +447,7 @@ fn main() {
445
447
let input = old_io::stdin().read_line()
446
448
.ok()
447
449
.expect("Failed to read line");
448
- let input_num: Option< u32> = input.parse ();
450
+ let input_num: Option<u32> = input.parse().ok() ;
449
451
450
452
println!("You guessed: {}", input_num);
451
453
@@ -495,7 +497,7 @@ fn main() {
495
497
let input = old_io::stdin().read_line ()
496
498
.ok ()
497
499
.expect(" Failed to read line" );
498
- let input_num: Option<u32> = input.parse();
500
+ let input_num: Option< u32> = input.parse().ok () ;
499
501
500
502
let num = match input_num {
501
503
Some(num) => num,
@@ -562,7 +564,7 @@ fn main() {
562
564
let input = old_io::stdin().read_line ()
563
565
.ok ()
564
566
.expect(" Failed to read line" );
565
- let input_num: Option<u32> = input.trim().parse();
567
+ let input_num: Option< u32> = input.trim().parse().ok () ;
566
568
567
569
let num = match input_num {
568
570
Some(num) => num,
@@ -638,7 +640,7 @@ fn main() {
638
640
let input = old_io::stdin().read_line()
639
641
.ok()
640
642
.expect("Failed to read line");
641
- let input_num: Option< u32> = input.trim().parse ();
643
+ let input_num: Option<u32> = input.trim().parse().ok() ;
642
644
643
645
let num = match input_num {
644
646
Some(num) => num,
@@ -714,7 +716,7 @@ fn main() {
714
716
let input = old_io::stdin().read_line ()
715
717
.ok ()
716
718
.expect(" Failed to read line" );
717
- let input_num: Option<u32> = input.trim().parse();
719
+ let input_num: Option< u32> = input.trim().parse().ok () ;
718
720
719
721
let num = match input_num {
720
722
Some(num) => num,
@@ -770,7 +772,7 @@ fn main() {
770
772
let input = old_io::stdin().read_line ()
771
773
.ok ()
772
774
.expect(" Failed to read line" );
773
- let input_num: Option<u32> = input.trim().parse();
775
+ let input_num: Option< u32> = input.trim().parse().ok () ;
774
776
775
777
let num = match input_num {
776
778
Some(num) => num,
@@ -847,7 +849,7 @@ fn main() {
847
849
let input = old_io::stdin().read_line ()
848
850
.ok ()
849
851
.expect(" Failed to read line" );
850
- let input_num: Option<u32> = input.trim().parse();
852
+ let input_num: Option< u32> = input.trim().parse().ok () ;
851
853
852
854
let num = match input_num {
853
855
Some(num) => num,
0 commit comments