大多数程序都需要依赖一些库。手动管理这些依赖会很麻烦。幸运的是,Rust 生态自带 cargo!cargo 可以帮你管理项目的依赖。
在 Rust 中,你常常会看到外部包被称为“crate”。crate 是 Rust 中的编译单元。一个 crate 既可以编译成二进制文件,也可以编译成库。
大多数情况下,添加一个外部依赖只需要在 Cargo.toml 文件中加一行。
在这个练习中,我们已经为你添加了enum-iterator和int-enum这两个依赖。
如果你想用 Raspberry Pi 做点什么,很可能会用到_电阻_。 在这个练习里,你需要了解关于电阻的两件事:
为了解决这个问题,制造商会把用颜色编码的色环印在电阻上,用来表示它们的电阻值。 每个色环都有一个位置和一个数值。
电阻的前 2 个色环采用一套简单的编码方案:每种颜色都对应一个数字。
在这个练习里,你将编写一个实用的小程序,这样就不用再记住各个色环对应的数值了。
这些颜色的编码如下:
这个练习的目标是实现一种可以做到以下几点的方案:
对于第一个任务,你需要外部 crate int-enum,而第三个任务需要 enum-iterator。
这两个 crate 都已经包含在这个练习的 Cargo.toml 里了。
记得查看这些 crate 的文档,了解如何使用它们。
你可以研究一下枚举的 Debug trait 的默认实现,来完成第二个任务。
助记口诀把颜色和数字对应起来,当颜色以数组形式存储时,正好对应它们在数组中的下标:Better Be Right Or Your Great Big Values Go Wrong。
关于电阻颜色编码的更多信息,可以在维基百科的电子色码条目中找到。