This repository contains my solutions to various Exercism exercises in the Rust track.
# | Exercise | Solution | Topics | Status |
---|---|---|---|---|
1 | Hello World | lib.rs | Basic setup, Unit testing | ✅ |
2 | Robot Name | lib.rs | Random generation, String manipulation, Mutability | ✅ |
3 | Simple Linked List | lib.rs | Data structures, Generics, Memory management | ✅ |
4 | PaaS I/O | lib.rs | I/O traits, Read/Write implementation, Metrics tracking | ✅ |
5 | Fizzy | lib.rs | Iterator adaptation, Generics, Trait bounds | ✅ |
6 | Triangle | lib.rs | Pattern matching, Geometry | ✅ |
7 | Robot Simulator | lib.rs | State machines, Enums | ✅ |
8 | Accumulate | lib.rs | Higher-order functions, Iterators | ✅ |
9 | Word Count | lib.rs | String manipulation, HashMap | ✅ |
10 | Grep | lib.rs | File I/O, Regular expressions | ✅ |
11 | Luhn | lib.rs | String parsing, Algorithms | ✅ |
12 | Luhn From | lib.rs | Traits, From/Into | ✅ |
13 | Luhn Trait | lib.rs | Trait implementation | ✅ |
14 | Clock | lib.rs | Arithmetic, Display trait | ✅ |
15 | Space Age | lib.rs | Traits, Float arithmetic | ✅ |
16 | Sublist | lib.rs | Generics, List operations | ✅ |
17 | Binary Search | lib.rs | Algorithms, Arrays | ✅ |
18 | ETL | lib.rs | Data transformation, Collections | ✅ |
19 | Grade School | lib.rs | HashMaps, Sorting | ✅ |
20 | Hamming | lib.rs | Iterator, Error handling | ✅ |
21 | Isogram | lib.rs | HashSet, Chars | ✅ |
22 | Nucleotide Count | lib.rs | HashMap, Error handling | ✅ |
23 | Macros | lib.rs | Macro rules, Metaprogramming | ✅ |
24 | Parallel Letter Frequency | lib.rs | Concurrency, Threading | ✅ |
25 | Xorcism | lib.rs | Iterators, Bit manipulation | 🔄 |
26 | React | lib.rs | Observer pattern, Cell types | 🔄 |
27 | Circular Buffer | lib.rs | Ring buffer, Error handling | 🔄 |
28 | Forth | lib.rs | Interpreters, Stack-based | 🔄 |
29 | Doubly Linked List | lib.rs | Unsafe Rust, Pointers | 🔄 |
cd rust/<exercise-name>
cargo test -- --include-ignored
A convenience script that automates downloading the next exercise:
- Scans this README.md to find the first exercise marked as in-progress (🔄)
- Checks if the exercise already exists locally
- Downloads the exercise using exercism CLI if not present
- Uses the configured exercism workspace path
Usage:
./next.sh