数値のように動作するカスタム型を作成する最も簡単な方法は?
プログラムで異なるユニットが混在するのを防ぐ型チェックが必要ですが、キャストを行ったり来たりせずに型の計算を簡単に実行できるようにしたいと考えています (カスタムCentimeters
とInches
型の場合と同様)。
私が作成した場合:
struct Centimeters(f64);
Add
次に、 、Mul
、Ord
および他の多くの特性を手動で実装する必要があります。これは多くの定型文であり、このコードをコピーして貼り付けると、プログラムの基本的な算術演算が壊れるリスクが生じます:)
残念ながら#[derive(Add, Sub, …)]
対応していないようです。同様の効果を達成できる別の標準的な特性/タイプ/クレートはありますか?