2 个不稳定版本

0.2.0 2021 年 11 月 8 日
0.1.0 2021 年 11 月 4 日

#2055 in Rust 模式

MIT 许可证

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

无运行时依赖