Merge pull request #26 from TorstenScheck/fix-typos-plus-clarifications
authorRalf Jung <post@ralfj.de>
Sat, 8 Jul 2017 18:02:01 +0000 (11:02 -0700)
committerGitHub <noreply@github.com>
Sat, 8 Jul 2017 18:02:01 +0000 (11:02 -0700)
Fix typos plus clarifications

src/part01.rs
src/part03.rs
src/part05.rs
src/part10.rs
src/part11.rs

index 56272b2f68c294c879171bee569068cd482d2522..95e45937e977073ae391ba626727186fa22abfb8 100644 (file)
@@ -13,7 +13,7 @@
 //@ For example, consider `sqr`:
 fn sqr(i: i32) -> i32 { i * i }
 //@ Between the curly braces, we are giving the *expression* that computes the return value.
-//@ So we can just write `i * i`, the expression that returns the square if `i`!
+//@ So we can just write `i * i`, the expression that returns the square of `i`!
 //@ This is very close to how mathematicians write down functions (but with more types).
 
 // Conditionals are also just expressions. This is comparable to the ternary `? :` operator
index 2e818d1413f730187d5327d0726fa3591707635f..b4bf2f35ada6c625fbf195a656dce13ede73fd78 100644 (file)
@@ -6,7 +6,7 @@
 //@ I/O is a complicated topic, so the code to do that is not exactly pretty - but well,
 //@ let's get that behind us.
 
-// I/O is provided by the module `std::io`, so we first have import that with `use`.
+// I/O is provided by the module `std::io`, so we first have to import that with `use`.
 // We also import the I/O *prelude*, which makes a bunch of commonly used I/O stuff
 // directly available.
 use std::io::prelude::*;
index eaad9804aaad71226c1bf3332839d32c73bbd9ce..adbe5c75a382c75b10510715bcbbb5cf09030742 100644 (file)
@@ -47,7 +47,8 @@ impl BigInt {
         }
     }
 
-    // We can convert any vector of digits into a number, by removing trailing zeros. The `mut`
+    // Any vector of digits, which meets the structure of BigInt's `data` field, can be easily
+    // converted into a big number just by removing trailing zeros. The `mut`
     // declaration for `v` here is just like the one in `let mut ...`: We completely own `v`, but Rust
     // still asks us to make our intention of modifying it explicit. This `mut` is *not* part of the
     // type of `from_vec` - the caller has to give up ownership of `v` anyway, so they don't care anymore
index 66d18ff1fc63e23f68f609ff0234f98824807686..0c90369c47145464411d557acc2f44fcb74d6788 100644 (file)
@@ -81,7 +81,7 @@ impl BigInt {
 pub fn print_with_prefix(b: &BigInt, prefix: String) {
     //@ The syntax for closures is `|arg1, arg2, ...| code`. Notice that the closure can reference variables like `prefix` that it did not
     //@ take as argument - variables that happen to be present *outside* of the closure. We say that the closure *captures*
-    //@ variables. Rust will now automatically create a type (like `PrintWithStruct`) for the environment of the closure
+    //@ variables. Rust will now automatically create a type (like `PrintWithString`) for the environment of the closure
     //@ with fields for every captured variable, implement the closure trait for this type such that the action performed
     //@ is given by the code of the closure, and finally it will instantiate the environment type here at the definition site
     //@ of the closure and fill it appropriately.
index 513440143eb453873fe2be46a74176b9350c4f6d..757f2057e814a57ff6f9aec5d316f4957ae65675 100644 (file)
@@ -115,6 +115,6 @@ pub fn main() {
 
 // **Exercise 11.1**: We made the arbitrary choice of using `i32` for the arguments. Generalize the data structures above
 // to work with an arbitrary type `T` that's passed to the callbacks. Since you need to call multiple callbacks with the
-// same `t: T`, you will either have to restrict `T` to `Copy` types, or pass a reference.
+// same `val: T` (in our `call` function), you will either have to restrict `T` to `Copy` types, or pass a reference.
 
 //@ [index](main.html) | [previous](part10.html) | [raw source](workspace/src/part11.rs) | [next](part12.html)