#hex #debugging #binary #display #to-string

i2u

提供一些常用的函数,它们使用泛型以零成本抽象的方式,轻松地将数字转换为二进制、十六进制、八进制,并将任何实现 Debug 特质的类型转换为 String

2 个版本

0.9.1 2024 年 7 月 3 日
0.9.0 2024 年 7 月 3 日

#137值格式化

MIT/Apache

16KB
61

可能是 Rust 标准库的一部分的常用函数。

如果您不想导入 i2u crate,您始终可以复制实现,或使用文档化的 std::fmt 等效功能,请参阅每个模块的详细信息。

  • 设计用于在 map() 中使用,例如:要将 Item=Option 的迭代器转换为字符串,请使用:iter_of_option.map(debug);
  • 可以独立使用,例如:let string:String=debug(my_struct);
  • 所有函数都有文档测试
  • 距离 1.0.0 版本还有 90%

此 crate 为以下问题提供了解答

如何将实现 Display 或 Debug 特质的类型的向量或迭代器转换为字符串

如何将数字的向量或迭代器转换为

  • 二进制
  • 小写十六进制
  • 大写十六进制
  • 八进制

具有

  • 无填充
  • 前导零填充
  • 前导空格填充

零成本抽象

尽管方法没有标记 #[inline],但它们是泛型方法,因此会分别代码生成到每个编译单元中,因此是内联的候选者。因此,编译器应该生成与您直接使用标准库相同的代码。

待确认

为什么使用此 crate

  • 更快地开发
    • 少输入
    • 节省在搜索引擎中查找的时间
  • 更易读的代码
  • 不应增加最终二进制文件的大小(待确认)
  • 在生产中使用 i2u.co

为什么不使用此 crate

  • 对于相当简单的任务,需要额外的依赖项
  • 你喜欢输入
  • 没有人会永远阅读你的代码,永远!!!

欢迎贡献

如果您在文档中注意到错误,可以简化代码或您想包括的其他函数,请创建 Pull Request 或 Issue。

依赖关系

~135KB