轨道
/
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 的文档,了解如何使用它们。 你可以研究一下枚举的 Debug trait 的默认实现,来完成第二个任务。

助记口诀把颜色和数字对应起来,当颜色以数组形式存储时,正好对应它们在数组中的下标:Better Be Right Or Your Great Big Values Go Wrong。

关于电阻颜色编码的更多信息,可以在维基百科的电子色码条目中找到。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Rust Exercism

准备好开始 电阻色环 了吗?

注册 Exercism,借助 99 个练习 和真人导师指导,学习并掌握 Rust,全部免费。