X-Git-Url: https://git.ralfj.de/rust-101.git/blobdiff_plain/29958c0fd33c5e714b52bed79a1832113c43b8d8..53b9ab56f7b712e6710fd873d456a0fe1f13b785:/workspace/src/part03.rs?ds=sidebyside diff --git a/workspace/src/part03.rs b/workspace/src/part03.rs index d1aea31..3840156 100644 --- a/workspace/src/part03.rs +++ b/workspace/src/part03.rs @@ -10,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`. @@ -22,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!() }, @@ -57,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 {