2 个版本
0.1.2 | 2021 年 8 月 21 日 |
---|---|
0.1.1 | 2021 年 8 月 21 日 |
#2 在 #gram
在 3 个 crate 中使用 (通过 elikar)
18KB
410 行
XRUnits
XRUnits 是一个单位库
我的英语不是很好!!
动机
我们通常使用一些现实世界的单位。如果我们需要开发一个处理这些单位的程序,比如创建一个需要计算数据传输速度或设置 MCU 频率的下载器,我们需要做很多重复的工作来转换这些单位,所以我想要开发一个具有强类型和易于使用的单位库来处理这些情况。
细节
为了避免重复代码,我使用了大量的宏来自动生成代码。
示例
创建 2Kg
# use xrunits::mass::BuildKilogram;
let mass = 2.kg();
将其转换为吨和克
# use xrunits::mass::{Ton, BuildKilogram, Gram};
# use xrunits::CastTo;
let mass : Ton = 2.kg().cast_to();
let mass : Gram = mass.cast_to();
打印到屏幕
# use xrunits::time::BuildSecond;
println!("time:{}",3.sec()); //time:3s
从周期计算频率
# use xrunits::time::{BuildMicrosecond, IntoFrequency};
# use xrunits::frequency::Megahertz;
let us = 1.us();
let mhz : Megahertz = us.into_frequency();