rustlings

solving rustlings ft. dracuxan
git clone [email protected]:dracuxan/rustlings.git
Log | Files | Refs

README.md (1589B)


      1 # Type conversions
      2 
      3 Rust offers a multitude of ways to convert a value of a given type into another type.
      4 
      5 The simplest form of type conversion is a type cast expression. It is denoted with the binary operator `as`. For instance, `println!("{}", 1 + 1.0);` would not compile, since `1` is an integer while `1.0` is a float. However, `println!("{}", 1 as f32 + 1.0)` should compile. The exercise [`using_as`](using_as.rs) tries to cover this.
      6 
      7 Rust also offers traits that facilitate type conversions upon implementation. These traits can be found under the [`convert`](https://doc.rust-lang.org/std/convert/index.html) module.
      8 The traits are the following:
      9 
     10 - `From` and `Into` covered in [`from_into`](from_into.rs)
     11 - `TryFrom` and `TryInto` covered in [`try_from_into`](try_from_into.rs)
     12 - `AsRef` and `AsMut` covered in [`as_ref_mut`](as_ref_mut.rs)
     13 
     14 Furthermore, the `std::str` module offers a trait called [`FromStr`](https://doc.rust-lang.org/std/str/trait.FromStr.html) which helps with converting strings into target types via the `parse` method on strings. If properly implemented for a given type `Person`, then `let p: Person = "Mark,20".parse().unwrap()` should both compile and run without panicking.
     15 
     16 These should be the main ways ***within the standard library*** to convert data into your desired types.
     17 
     18 ## Further information
     19 
     20 These are not directly covered in the book, but the standard library has a great documentation for it.
     21 
     22 - [conversions](https://doc.rust-lang.org/std/convert/index.html)
     23 - [`FromStr` trait](https://doc.rust-lang.org/std/str/trait.FromStr.html)