用 rustlings 來練習 Rust 語言

更新於 發佈於 閱讀時間約 3 分鐘

對於剛學習 Rust 的人來說,最一開始不是看 Youtube 的影片或是跟著 Rust 官方手冊 The Book 學習,這邊來推薦一個練習 Rust 的專案,名為 rustlings

rustlings 包含著一些簡單的題目,來讓你更習慣閱讀或編寫 Rust 程式碼。該專案會在每道題目上給予提示來幫助你完成題目,並在你完成後提供校對的機制。

安裝

在安裝 rustlings 前,必須要先安裝 Rust,到 Installing Rust 並根據自己的作業系統下載。

因為我的環境是 WSL,所以我會依循 Mac/Linux 的步驟來進行下載:

curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash -s rustlings/
如果你是 MacOS 使用者:要執行 xcode-select --install
如果你是 Linux 使用者:要執行 sudo apt install gcc

Windows 的下載方式可以參考 Getting Started - Windows。當然你也直接去 clone 專案都可以。

開始使用

整個專案的目的很簡單,它會提供一些有問題的程式碼等待你來解決,這些都放在專案下的 exercises/ 資料夾裡,完成後就會有檢查機制來幫你檢查。

這邊來介紹第一個監看模式( watch ),就是當 exercises/ 裡的程式碼被更改時,就會自動去驗證程式碼是否正確。輸入以下指令來進入監看模式:

rustlings watch
rustlings watch mode

rustlings watch mode

這邊可以看到現在第一個要修改的題目是 exercises/intro/intro1.rs,在每一題改完並且測試沒問題後,就必須要把程式碼裡的 I AM NOT DONE 這句話移除,否則它是不會跳下一個題目和提示的。

在這個模式下輸入 help 指令來獲得其餘的幫助,例如輸入 hint 可以獲得當前要更改的程式碼的提示、輸入 quit 可以退出目前的模式。

當然你也可以不要進入監看模式就可以驗證你的程式碼,輸入以下指令來驗證:

rustlings verify

或是獲得下一題的提示:

rustlings hint next

實作

這邊來簡單實作一題,因為 intro1 只要你移除 I AM NOT DONE 便可以到下一題,所以這邊我們來直接做第二題 intro2

// intro2.rs
//
// Make the code print a greeting to the world.
//
// Execute `rustlings hint intro2` or use the `hint` watch subcommand for a
// hint.

// I AM NOT DONE

fn main() {
println!("Hello {}!");
}

當然不用提示我們都知道問題在哪裡,{} 後面需要再放一個字串來補完整句:

fn main() {
println!("Hello {}!", "World");
}

完成後存檔你就會看到監看模式下有一些不一樣:

rustlings intro2 OK

rustlings intro2 OK

包含著測試的結果、進度條、輸出還有你必須移除 I AM NOT DONE 才能跳下一題。

結語

有了這個小工具,可以讓你在讀完官方手冊後有個地方可以複習。

Github

留言
avatar-img
留言分享你的想法!
avatar-img
Soft Code
2會員
4內容數
簡單的了解一個關於程式相關的主題
Soft Code的其他內容
2024/04/24
最近在練習使用 CSS 來製作一些簡單的動畫,以下是我收集資料與實作的成果。製作一張可以水平翻轉的卡片,這邊會使用 Vue.js 來簡化邏輯,主要是解釋 CSS 的部分。
Thumbnail
2024/04/24
最近在練習使用 CSS 來製作一些簡單的動畫,以下是我收集資料與實作的成果。製作一張可以水平翻轉的卡片,這邊會使用 Vue.js 來簡化邏輯,主要是解釋 CSS 的部分。
Thumbnail
2024/01/28
非同步程式設計(Asynchronous programming) 或是簡單的稱之為 async,它是一種並發程式模型(concurrent programming model),其目的就是讓多個任務能同時在作業系統的執行緒上執行,並透過 async/.await 保留同步。
Thumbnail
2024/01/28
非同步程式設計(Asynchronous programming) 或是簡單的稱之為 async,它是一種並發程式模型(concurrent programming model),其目的就是讓多個任務能同時在作業系統的執行緒上執行,並透過 async/.await 保留同步。
Thumbnail
2023/09/13
Bun 在 2023/9/8 釋出了 1.0 版本,這篇文章就來說一下為什麼 Bun 會被關注,還有該怎麼使用它。
Thumbnail
2023/09/13
Bun 在 2023/9/8 釋出了 1.0 版本,這篇文章就來說一下為什麼 Bun 會被關注,還有該怎麼使用它。
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
我們在「【🔒 Python 先修班】⬆️ 培養良好的Coding Style讓專業度 Up!Up!Up!」談到了Coding Style, 在文末也分享了pylint的程式碼檢查工具, 雖然內建、簡單快速上手, 但隨著技術的演進, 我們總需要又快、又好、又簡單的工具做為預設的工具庫, Ruff
Thumbnail
我們在「【🔒 Python 先修班】⬆️ 培養良好的Coding Style讓專業度 Up!Up!Up!」談到了Coding Style, 在文末也分享了pylint的程式碼檢查工具, 雖然內建、簡單快速上手, 但隨著技術的演進, 我們總需要又快、又好、又簡單的工具做為預設的工具庫, Ruff
Thumbnail
工作兩年,我已經替 5 個 SaaS 產品寫了技術文件。過程中我發現:現代人很沒耐心。5 分鐘內他不知道產品怎麼用,就會關閉網頁再找其他試用品。公司失去了一個願意付費的潛在客戶。怎麼辦呢?你需要一份 Tutorial 技術文件!這篇文章我會分享 6 個你可以用來寫技術文件的訣竅。
Thumbnail
工作兩年,我已經替 5 個 SaaS 產品寫了技術文件。過程中我發現:現代人很沒耐心。5 分鐘內他不知道產品怎麼用,就會關閉網頁再找其他試用品。公司失去了一個願意付費的潛在客戶。怎麼辦呢?你需要一份 Tutorial 技術文件!這篇文章我會分享 6 個你可以用來寫技術文件的訣竅。
Thumbnail
對於剛學習 Rust 的人來說,最一開始不是看 Youtube 的影片或是跟著 Rust 官方手冊 The Book 學習,這邊來推薦一個練習 Rust 的專案,名為 rustlings。 rustlings 包含著一些簡單的題目,來讓你更習慣閱讀或編寫 Rust 程式碼。該專案會在每道題目上給予
Thumbnail
對於剛學習 Rust 的人來說,最一開始不是看 Youtube 的影片或是跟著 Rust 官方手冊 The Book 學習,這邊來推薦一個練習 Rust 的專案,名為 rustlings。 rustlings 包含著一些簡單的題目,來讓你更習慣閱讀或編寫 Rust 程式碼。該專案會在每道題目上給予
Thumbnail
近期已經進去了一個看完語法,進去實作的階段,自然需要去挑選一個適合的環境來開發了。 原本使用的VS code,基本的使用上沒什麼問題,只是每當我要裝一些套件時就會報錯,相信花點時間,這些錯都可以解決,但我突然轉念一想,不如換個環境來寫寫看吧。於是就把矛頭轉向系統內建的Vim了。
Thumbnail
近期已經進去了一個看完語法,進去實作的階段,自然需要去挑選一個適合的環境來開發了。 原本使用的VS code,基本的使用上沒什麼問題,只是每當我要裝一些套件時就會報錯,相信花點時間,這些錯都可以解決,但我突然轉念一想,不如換個環境來寫寫看吧。於是就把矛頭轉向系統內建的Vim了。
Thumbnail
最開始學習一個語言肯定是從基礎語法開始,Rust還算滿幸運的有基礎語法的翻譯,這翻譯是在官方網站下推薦的,初步看起來沒什麼問題,在開發環境中我選擇visual studio code,基本的安裝,如果有問題的話,我相信網路上都找得到答案 第二章節就即開始基礎的Rust用法,非常有C語言的感覺,就是讓
Thumbnail
最開始學習一個語言肯定是從基礎語法開始,Rust還算滿幸運的有基礎語法的翻譯,這翻譯是在官方網站下推薦的,初步看起來沒什麼問題,在開發環境中我選擇visual studio code,基本的安裝,如果有問題的話,我相信網路上都找得到答案 第二章節就即開始基礎的Rust用法,非常有C語言的感覺,就是讓
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News