5 个版本 (3 个破坏性更新)
新版本 0.4.0 | 2024 年 8 月 5 日 |
---|---|
0.3.0 | 2023 年 12 月 20 日 |
0.2.1 | 2023 年 6 月 2 日 |
0.2.0 | 2023 年 4 月 23 日 |
0.1.0 | 2023 年 4 月 11 日 |
在 文本处理 中排名第 1850
每月下载量 48 次
1MB
17K SLoC
(static_table
) 在编译时制作表格
该库提供宏来在编译时构建美观的表格。
您可以构建两种类型的表格。
- 标准调整表格 (
static_table::static_table
)。 - 未调整的,浮动表格 (
static_table::pool_table
)。
有关您可以使用宏的更多功能和设置,请参阅文档 (docs.rs)。
开始使用
将库添加到您的 Cargo.toml
。
# Cargo.toml
[dependencies]
static_table = "0.2"
static_table
使用的示例。
示例 | 结果 |
---|---|
|
|
pool_table
使用的示例。
示例 | 结果 |
---|---|
|
|
您甚至可以在文档中使用宏
/// Add joins 2 integers together to get a sum.
///
/// ```
#[doc = static_table::static_table!([
["a", "b", "result"],
["1", '2', '3'],
["2", '2', '4']
])]
/// ```
pub fn add(left: usize, right: usize) -> usize {
left + right
}
二进制大小关注点
这是您应该注意的事情。使用 static_table
可能在二进制大小上增加,因为表格将作为实际符号存储在二进制文件的静态部分(ELF、PE 等)。
我在这方面进行了一些测试。使用 static_table
的二进制文件比使用 lazy_static/
once_cell
在运行时构建表格的二进制文件小得多。但我不确定为什么会出现这种情况。
debug mode release mode
static_table 13497232 4501576
runtime table 12031120 4156024
依赖关系
~2.5MB
~49K SLoC