mirror of
https://github.com/rust-lang/rustlings.git
synced 2025-12-29 15:19:19 +00:00
190 lines
6.3 KiB
Markdown
190 lines
6.3 KiB
Markdown
<div class="oranda-hide">
|
||
|
||
# rustlings 🦀❤️ Rust繁中簡學!
|
||
|
||
</div>
|
||
|
||
這是 Rustlings 的繁體中文翻譯版本。此版本包含了所有練習的中文註釋和文檔翻譯 **(還在努力...)**。
|
||
|
||
## 安裝
|
||
|
||
使用以下命令安裝此翻譯版本:
|
||
|
||
```sh
|
||
cargo install --git https://github.com/TimLai666/rustlings-zh-TW
|
||
```
|
||
<hr>
|
||
|
||
歡迎來到 `rustlings`。這個專案包含一些小練習,可幫助您習慣閱讀和編寫 Rust 程式碼。包括閱讀和回應編譯器訊息!
|
||
|
||
另外,對於 Rust 初學者,還有以下資源可以參考:
|
||
|
||
- [The Book](https://doc.rust-lang.org/book/index.html) - 最全面的 Rust 學習資源,但有時有點理論性。建議您可以搭配 Rustlings 一起使用!
|
||
- [Rust By Example](https://doc.rust-lang.org/rust-by-example/index.html) - 透過小練習來學習 Rust!和`rustlings`類似,但是是線上的。
|
||
|
||
## 新手上路
|
||
|
||
_Note: 如果您使用的是 MacOS,請確保您已安裝 Xcode 及其開發人員工具,方法是輸入 `xcode-select --install`._
|
||
_Note: 如果您使用的是 Linux,請確保您已安裝 gcc。 Deb: `sudo apt install gcc`. Yum: `sudo yum -y install gcc`._
|
||
|
||
您需要安裝 Rust。 您可以至 <https://rustup.rs> 取得它。這也將安裝 Cargo(Rust 的套件/專案管理器)。
|
||
|
||
## MacOS/Linux
|
||
|
||
Just run:
|
||
|
||
```bash
|
||
curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash
|
||
```
|
||
|
||
Or if you want it to be installed to a different path:
|
||
|
||
```bash
|
||
curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash -s mypath/
|
||
```
|
||
|
||
This will install Rustlings and give you access to the `rustlings` command. Run it to get started!
|
||
|
||
### Nix
|
||
|
||
Basically: Clone the repository at the latest tag, finally run `nix develop` or `nix-shell`.
|
||
|
||
```bash
|
||
# find out the latest version at https://github.com/rust-lang/rustlings/releases/latest (on edit 5.6.1)
|
||
git clone -b 5.6.1 --depth 1 https://github.com/rust-lang/rustlings
|
||
cd rustlings
|
||
# if nix version > 2.3
|
||
nix develop
|
||
# if nix version <= 2.3
|
||
nix-shell
|
||
```
|
||
|
||
## Windows
|
||
|
||
In PowerShell (Run as Administrator), set `ExecutionPolicy` to `RemoteSigned`:
|
||
|
||
```ps1
|
||
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||
```
|
||
|
||
Then, you can run:
|
||
|
||
```ps1
|
||
Start-BitsTransfer -Source https://raw.githubusercontent.com/rust-lang/rustlings/main/install.ps1 -Destination $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. Keep in mind that this works best in PowerShell, and any other terminals may give you errors.
|
||
|
||
If you get a permission denied message, you might have to exclude the directory where you cloned Rustlings in your antivirus.
|
||
|
||
## Browser
|
||
|
||
[](https://gitpod.io/#https://github.com/rust-lang/rustlings)
|
||
|
||
[](https://github.com/codespaces/new/?repo=rust-lang%2Frustlings&ref=main)
|
||
|
||
## Manually
|
||
|
||
Basically: Clone the repository at the latest tag, run `cargo install --locked --path .`.
|
||
|
||
```bash
|
||
# find out the latest version at https://github.com/rust-lang/rustlings/releases/latest (on edit 5.6.1)
|
||
git clone -b 5.6.1 --depth 1 https://github.com/rust-lang/rustlings
|
||
cd rustlings
|
||
cargo install --locked --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 keeps them 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
|
||
```
|
||
|
||
Or simply use the following command to run the next unsolved exercise in the course:
|
||
|
||
```bash
|
||
rustlings run next
|
||
```
|
||
|
||
In case you get stuck, you can run the following command to get a hint for your
|
||
exercise:
|
||
|
||
```bash
|
||
rustlings hint myExercise1
|
||
```
|
||
|
||
You can also get the hint for the next unsolved exercise with the following command:
|
||
|
||
```bash
|
||
rustlings hint next
|
||
```
|
||
|
||
To check your progress, you can run the following command:
|
||
|
||
```bash
|
||
rustlings list
|
||
```
|
||
|
||
## Testing yourself
|
||
|
||
After every couple of sections, there will be a quiz that'll test your knowledge on a bunch of sections at once. These quizzes are found in `exercises/quizN.rs`.
|
||
|
||
## Enabling `rust-analyzer`
|
||
|
||
Run the command `rustlings lsp` which will generate a `rust-project.json` at the root of the project, this allows [rust-analyzer](https://rust-analyzer.github.io/) to parse each exercise.
|
||
|
||
## Continuing On
|
||
|
||
Once you've completed Rustlings, put your new knowledge to good use! Continue practicing your Rust skills by building your own projects, contributing to Rustlings, or finding other open-source projects to contribute to.
|
||
|
||
## Uninstalling Rustlings
|
||
|
||
If you want to remove Rustlings from your system, there are two steps. First, you'll need to remove the exercises folder that the install script created
|
||
for you:
|
||
|
||
```bash
|
||
rm -rf rustlings # or your custom folder name, if you chose and or renamed it
|
||
```
|
||
|
||
Second, run `cargo uninstall` to remove the `rustlings` binary:
|
||
|
||
```bash
|
||
cargo uninstall rustlings
|
||
```
|
||
|
||
Now you should be done!
|
||
|
||
## Contributing
|
||
|
||
See [CONTRIBUTING.md](https://github.com/rust-lang/rustlings/blob/main/CONTRIBUTING.md).
|
||
|
||
## Contributors ✨
|
||
|
||
Thanks goes to the wonderful people listed in [AUTHORS.md](https://github.com/rust-lang/rustlings/blob/main/AUTHORS.md) 🎉
|