2 个不稳定版本
0.2.0 | 2021 年 11 月 8 日 |
---|---|
0.1.0 | 2021 年 11 月 4 日 |
#2055 in Rust 模式
10KB
211 行
morseclock - 又一个不太直观的时钟
这是一个工作进展中(WIP)。请自行决定是否使用。
lib.rs
:
morseclock - 又一个不太直观的时钟
morseclock 允许您生成一个受以下 hackaday 帖子启发的时钟可视化:这个帖子
使用示例
use morseclock::{Clock, Format, MorseExt};
// Hour must be in the range [0, 23)
let hour = 16.try_into().unwrap();
// Minute must be in the range [0, 59)
let minute = 47.try_into().unwrap();
let clock = Clock::new(hour, minute, Format::Hour12);
let time: String = clock
.into_iter()
.morse()
.collect();
assert_eq!(time, "--.=----")
如何读取“摩尔斯电码”
MorseExt
迭代器扩展特质生成的映射可以解释如下
字符串 "--.=----"
代表时间 4:47。
字符 '='
分隔时针和分针。
在时针上,单个 '-'
代表 3 小时的增加(手的四分之一旋转),从 0 点位置开始。
单个 '.'
代表 1 小时的增加。
在分针上,单个 '-'
代表 15 分钟的增加(手的四分之一旋转),从 0 点位置开始。单个 '.'
代表 5 分钟的增加。
一些 12 小时制时钟的时间示例
00:00 是 -=-
03:00 是 --=-
06:00 是 ---=-
21:40 是 09:40,表示为 ----=---..
所有分钟数都四舍五入到 5 分钟,因此以下时间的字符串表示相等
00:00 是 00:01 是 .. 是 00:04