Welcome to HelloRust! This repository contains a collection of small code snippets and programs created during my journey of learning Rust. My goal is to document and share my learning experience, including the challenges I encountered along the way.
This repository is designed to provide a set of simple problems that are intended to be completed within 10-12 hours of learning Rust. While it took me several weeks to work through these problems 😅, I hope this collection will be helpful for other newbies to Rust.
Originally, my code was scattered across various folders, which made it challenging to manage. To streamline things, I've consolidated all code into a single Rust crate. This organization should make it easier to manage and replicate.
There's also a seperate set of problems on Macros & Traits, that I asked ChatGPT to provide while solving the problems in the 10th Level. I didn't understand macros and traits until that point. So I had decided to double down and solve more problems regarding that.
There should be a good list of around 20 problems there, which I have solved in macros.rs & traits.rs. Do give the problems a try yourself, before looking at my odd looking solutions 😅.
The initial set of problems focuses on fundamental Rust concepts and basic programming exercises. Topics covered:
- Function definition
- Control flow
- Simple I/O operations
From Level 6 onwards, the problems delve into more advanced Rust features. Topics covered:
- Advanced data structures
- Error handling
- Concurrency
- Macros & Traits
Currently, there are no automated tests written for these problems. You will need to test each function individually to ensure it works as expected.
-
Clone the Repository:
git clone https://github.com/yourusername/HelloRust.git
-
Navigate to the Crate Directory:
cd HelloRust
-
Build and Run: To build and run the examples, use:
cargo build cargo run
-
Test Functions Individually: Modify and run each problem to test its functionality.
This repository was inspired by various resources, including the Rustlings exercises. While this is a personal list of problems, I highly recommend checking out Rustlings for a more structured learning path.
If you have suggestions for additional problems or improvements, feel free to open an issue or submit a pull request!
This project is licensed under the MIT License - see the LICENSE file for details.