X-Git-Url: https://git.ralfj.de/rust-101.git/blobdiff_plain/fff8ebeb3f0b84c71275cbb5adee0aad6114f79b..3530068c5bbcbd9185757369dd23b9edb3bbc9ad:/workspace/src/part03.rs?ds=inline diff --git a/workspace/src/part03.rs b/workspace/src/part03.rs index 96ac4bf..3840156 100644 --- a/workspace/src/part03.rs +++ b/workspace/src/part03.rs @@ -1,5 +1,3 @@ -// ***Remember to enable/add this part in `main.rs`!*** - // Rust-101, Part 03: Input // ======================== @@ -12,9 +10,9 @@ use std::io; fn read_vec() -> Vec { let mut vec: Vec = Vec::::new(); - // The central handle to the standard input is made available by `io::stdin()`. + // The central handle to the standard input is made available by the function `io::stdin`. let stdin = io::stdin(); - println!("Enter a list of numbers, one per line. End with Ctrl-D."); + println!("Enter a list of numbers, one per line. End with Ctrl-D (Linux) or Ctrl-Z (Windows)."); for line in stdin.lock().lines() { // Rust's type for (dynamic, growable) strings is `String`. However, our variable `line` // here is not yet of that type: It has type `io::Result`. @@ -24,7 +22,7 @@ fn read_vec() -> Vec { let line = line.unwrap(); // Now that we have our `String`, we want to make it an `i32`. - match line.parse::() { + match line.trim().parse::() { Ok(num) => { unimplemented!() }, @@ -59,7 +57,7 @@ pub fn main() { // Notice that I called the function on `SomethingOrNothing` `print2` to disambiguate from the `print` defined previously. // // *Hint*: There is a macro `print!` for printing without appending a newline. -trait Print { +pub trait Print { /* Add things here */ } impl SomethingOrNothing {