https://github.com/cedrickchee/rustlings-solutions

Small exercises to get you used to reading and writing Rust code!

https://github.com/cedrickchee/rustlings-solutions

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords

beginner-friendly rust rustlings-solution
Last synced: 5 months ago · JSON representation

Repository

Small exercises to get you used to reading and writing Rust code!

Basic Info
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
beginner-friendly rust rustlings-solution
Created over 6 years ago · Last pushed over 6 years ago
Metadata Files
Readme Changelog Contributing License

README.md

crab pet

rustlings 🦀❤️

Greetings and welcome to rustlings. This project contains small exercises to get you used to reading and writing Rust code. This includes reading and responding to compiler messages!

...looking for the old, web-based version of Rustlings? Try here

Alternatively, for a first-time Rust learner, there's several other resources:

  • The Book - The most comprehensive resource for learning Rust, but a bit theoretical sometimes. You will be using this along with Rustlings!
  • Rust By Example - Learn Rust by solving little exercises! It's almost like rustlings, but online

Getting Started

Note: If you're on MacOS, make sure you've installed Xcode and its developer tools by typing xcode-select --install.

Note: If you have Xcode 10+ installed, you also need to install the package file found at `/Library/Developer/CommandLineTools/Packages/macOSSDKheadersformacOS10.14.pkg`._

You will need to have Rust installed. You can get it by visiting https://rustup.rs. This'll also install Cargo, Rust's package/project manager.

MacOS/Linux

Just run:

```bash curl -L https://git.io/rustlings | bash

Or if you want it to be installed to a different path:

curl -L https://git.io/rustlings | bash -s mypath/ ```

This will install Rustlings and give you access to the rustlings command. Run it to get started!

Windows

You can run:

ps Invoke-WebRequest https://git.io/rustlings-win | Select-Object -ExpandProperty Content | Out-File $env:TMP/install_rustlings.ps1; Unblock-File $env:TMP/install_rustlings.ps1; Invoke-Expression $env:TMP/install_rustlings.ps1

To install Rustlings. Same as on MacOS/Linux, you will have access to the rustlings command after it.

Manually

Basically: Clone the repository, checkout to the latest tag, run cargo install.

bash git clone https://github.com/rust-lang/rustlings cd rustlings git checkout tags/2.0.0 # or whatever the latest version is (find out at https://github.com/rust-lang/rustlings/releases/latest) cargo install --force --path .

If there are installation errors, ensure that your toolchain is up to date. For the latest, run: bash rustup update

Then, same as above, run rustlings to get started.

Doing exercises

The exercises are sorted by topic and can be found in the subdirectory rustlings/exercises/<topic>. For every topic there is an additional README file with some resources to get you started on the topic. We really recommend that you have a look at them before you start.

The task is simple. Most exercises contain an error that keep it from compiling, and it's up to you to fix it! Some exercises are also run as tests, but rustlings handles them all the same. To run the exercises in the recommended order, execute:

bash rustlings watch

This will try to verify the completion of every exercise in a predetermined order (what we think is best for newcomers). It will also rerun automatically every time you change a file in the exercises/ directory. If you want to only run it once, you can use:

bash rustlings verify

This will do the same as watch, but it'll quit after running.

In case you want to go by your own order, or want to only verify a single exercise, you can run:

bash rustlings run myExercise1

In case you get stuck, you can run the following command to get a hint for your exercise:

bash rustlings hint myExercise1

Testing yourself

After every couple of sections, there will be a test that'll test your knowledge on a bunch of sections at once. These tests are found in exercises/testN.rs.

Completion

Rustlings isn't done; there are a couple of sections that are very experimental and don't have proper documentation. These include:

  • Errors (exercises/errors/)
  • Option (exercises/option/)
  • Result (exercises/result/)
  • Move Semantics (could still be improved, exercises/move_semantics/)

Additionally, we could use exercises on a couple of topics:

  • Structs
  • Better ownership stuff
  • impl
  • ??? probably more

If you are interested in improving or adding new ones, please feel free to contribute! Read on for more information :)

Contributing

See CONTRIBUTING.md.

Credits

rustlings was originally written by Carol!

Owner

  • Name: Cedric Chee
  • Login: cedrickchee
  • Kind: user
  • Location: PID 1
  • Company: InvictusByte

Lead Software Engineer | LLMs | full stack Go/JS dev, backend | product dev @ startups | 🧑‍🎓 CompSci | alumni: fast.ai, Antler.co

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 43 minutes
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • cedrickchee (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

Cargo.lock cargo
  • 102 dependencies
Cargo.toml cargo
  • assert_cmd 0.11.0 development
  • glob 0.3.0 development
  • predicates 1.0.1 development
  • clap 2.32.0
  • console 0.6.2
  • indicatif 0.9.0
  • notify 4.0.0
  • regex 1.1.6
  • serde 1.0.10
  • toml 0.4.10