mirror of
https://github.com/rust-lang/rustlings.git
synced 2026-01-11 21:29:18 +00:00
1.4 KiB
1.4 KiB
- primitive_types4.rs - slices and arrays
- Revisit macros (good explanation here: https://doc.rust-lang.org/rust-by-example/macros.html)
- vecs2.rs -> review v.iter_mut to mutate vector elements vs. let out = v.iter().map(|n| n*2).collect() to multiple each value but return results to new Vec vector
- move_semantics1 why does vec0 -> v inside the function allow v to be mutable? Analyze in detail. [Actually this is called a move of ownership!]
- move_semantics2 -> important!!!
- structs3 -> review impl (for struct implementations it adds StructName::method() methods to it (kind of like a value receiver in Go :) . Keep in mind there are also trait (interface) impls.
- enums2 and enums3 are VERY important to understand enum matching!!!
- strings3 check differences between str and String libraries. Yes str is a string slice but how to know when to use String methods?
- modules all -> important for understanding modules
- insert method for hashmaps (see hashmaps1)
- hashmap3 is good for understanding entry().or_insert() pattern for hashmaps
- generics2. review https://doc.rust-lang.org/book/ch10-01-syntax.html
- traits1 why is self accepted since it's being updated?
- revisit all traits exercises
- options1 (understand Some and None)
- option2 (important to understand if let, while let statements alternative to match ). ChatGPT explanation was great.