Are there any exercises?


#1

Hello from gauden,
Im trying to learn Rust which the online book and reference provides, but I was wondering if anyone has made exercises for someone like me… so to really get the hang of Rust. If not, I must suggest it as an idea.
Take care, all


#2

Rust By example is sorta kinda but not exactly what you want.


#3

There’s rosetta code and the unimplemented Rust problems. Sorta like what you’re after.


#4

@guaden In addition to The Rust Programming Language Docs (Nightly) Book, The Rust Reference and Rust By Example, which all provide good examples. I would suggest navigating through the Rust Programming Language API Docs, as they have good examples for most of the Crates and Modules. For example, if you are learning with Rust By Example and follow inline links they provide to further readings, some will take you to the API Docs (i.e. in their “Chapter 2. Formatted print”, whilst they provide their own examples, they also start the chapter by providing a link to the std::format Module, which takes you to that module of the API Docs, which contains an example of implementing Formatting Traits to create a 2D vector).

When you are ready for more challenging exercises I would suggest going to the public listing of Rust CI projects here, which contains links to their associated GitHub repos (aka respositories), and find a project in a category that interests you. Then set yourself the challenge of forking their repo and trying to close-out any of its “Issues”, whilst becoming aware of any Pull Requests other contributors may have made to help it work. With this understanding and having read its Readme, try to understand their code and simply try to build and run it by interpreting and addressing any error, warning or info messages that appear in the console when you follow their Readme. If you do not know how to solve a problem or overcome a debugging message, then post a question on the forum. Once you are able to build and run the basics of their repo, think about ways you could improve it by applying your learnings.