學習軌道
/
Rust
Rust
/
練習
/
電阻色碼
電阻色碼

電阻色碼

學習練習

簡介

大多數程式都會相依於一些函式庫。手動管理這些相依項目可能會很麻煩。幸運的是,Rust 生態系標準配備就有cargo!cargo 可以幫專案管理相依項目。

在 Rust 裡,你常會看到外部套件被稱為「crate」。crate 是 Rust 的編譯單元。一個 crate 可以編譯成執行檔,也可以編譯成函式庫。

大多數情況下,新增外部相依項目就跟在Cargo.toml檔案裡加一行一樣簡單。

這個練習已經幫你加好了 enum-iterator 和 int-enum 這兩個相依項目。

說明

如果你想用 Raspberry Pi 打造一些東西,大概會用到_電阻器_。 在這個練習裡,你需要知道關於它們的兩件事:

  • 每個電阻器都有一個電阻值。
  • 電阻器很小,小到如果把電阻值印在上面的話會很難辨識。

為了解決這個問題,製造商會在電阻器上印上以色碼標示的色環,來表示它們的電阻值。 每個色環都有一個位置和一個數值。

電阻器的前 2 個色環有一套簡單的編碼方式:每種顏色都對應到單一個數字。

在這個練習中,你將建立一個實用的程式,讓你不用記住這些色環的數值。

這些顏色的編碼如下:

  • Black: 0
  • Brown: 1
  • Red: 2
  • Orange: 3
  • Yellow: 4
  • Green: 5
  • Blue: 6
  • Violet: 7
  • Grey: 8
  • White: 9

這個練習的目標是建立一個能夠:

  1. 查詢特定色環所對應的數值
  2. 把數值轉換成代表顏色的字串
  3. 列出各種色環顏色

第一項任務會需要外部的 crate int-enum,第三項任務則會需要 enum-iterator。 這兩個 crate 都已經包含在這個練習的 Cargo.toml 裡了。 記得查看這些 crate 的文件,了解怎麼使用它們。 你可以研究 Enum 的 Debug trait 預設實作,來完成第二項任務。

記憶法把顏色對應到數字,而這些數字以陣列儲存時,剛好會對應到它們在陣列中的索引:Better Be Right Or Your Great Big Values Go Wrong。

更多關於電阻色碼的資訊,可以在維基百科的電子色碼條目中找到。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Rust Exercism

準備好開始 電阻色碼 了嗎?

註冊 Exercism,透過 99 個練習 和真人引導來學習並精通 Rust,全部免費。