トラック
/
Rust
Rust
/
演習
/
抵抗器カラー
抵抗器カラー

抵抗器カラー

学習演習

はじめに

ほとんどのプログラムは、何らかのライブラリに依存しています。それらを手作業で管理するのは骨が折れることもあります。幸いなことに、Rustのエコシステムにはcargoが標準で付属しています! cargoはプロジェクトの依存関係を管理してくれます。

Rustでは、外部パッケージはよく「クレート」と呼ばれます。クレートはRustにおけるコンパイル単位です。クレートはバイナリにもライブラリにもコンパイルできます。

ほとんどの場合、外部依存を追加するのは、Cargo.tomlファイルに1行追加するだけです。

この演習では、enum-iteratorとint-enumの依存関係があらかじめ追加されています。

説明

Raspberry Piで何かを作ろうとするとき、たいていは_抵抗器_を使うでしょう。この演習では、抵抗器について2つのことを知っておく必要があります。

  • 抵抗器にはそれぞれ抵抗値があります。
  • 抵抗器はとても小さく、抵抗値を本体に印刷しても読み取るのが難しいほどです。

この問題を回避するために、メーカーは抵抗器に色分けされたバンドを印刷し、抵抗値を示しています。各バンドには位置と数値があります。

抵抗器の最初の2本のバンドには、単純な符号化の仕組みがあります。それぞれの色が1つの数値に対応します。

この演習では、バンドの値を覚えなくても済むように、便利なプログラムを作ります。

色は次のように符号化されています。

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

この演習の目標は、次のことを実現する方法を作ることです。

  1. 特定のカラーバンドに対応する数値を調べる
  2. 数値を、色を表す文字列に変換する
  3. さまざまなバンドの色を一覧表示する

1つ目のタスクでは外部クレートint-enumが必要で、3つ目のタスクではenum-iteratorが必要です。どちらもこの演習のCargo.tomlにすでに含まれています。使い方を知るために、これらのクレートのドキュメントを確認してください。2つ目のタスクは、列挙型のDebugトレイトのデフォルト実装を調べると完成できます。

語呂合わせは色を数値に対応付けるもので、それらの数値は配列に格納すると、配列内のインデックスと一致します。Better Be Right Or Your Great Big Values Go Wrong.

抵抗器の色分けについての詳しい情報は、電子カラーコードのWikipedia記事にあります。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Rust Exercism

抵抗器カラーを始める準備はできましたか?

Exercismに登録すれば、99個の演習、そして本物の人間によるメンタリングとともに、Rustを学んでマスターできます。すべて無料です。