1 个不稳定版本
0.4.1 | 2024年3月5日 |
---|
19 在 #cells
197 每月下载量
在 5 个crate中使用 (通过 text-grid)
12KB
272 行
text-grid-rs
用于创建格式化纯文本表的库。
示例
use text_grid::*;
struct RowData {
a: String,
b: u32,
c: u32,
d: f64,
}
impl Cells for RowData {
fn fmt(f: &mut CellsFormatter<Self>) {
f.column("a", |s| &s.a);
f.column("b", |s| s.b);
f.column("c", |s| cell(s.c).left());
f.column_with("d", |f| {
f.column("x", |s| s.d);
f.column("y", |s| cells_f!("{:.2e}", s.d));
});
}
}
let rows = [
RowData { a: "ABC".to_string(), b: 300, c: 1, d: 100.1 },
RowData { a: "XY".to_string(), b: 2, c: 200, d: 1.234 },
];
let g = to_grid(rows);
assert_eq!(format!("\n{g}"), OUTPUT);
const OUTPUT: &str = r#"
a | b | c | d |
-----|-----|-----|--------------------|
| | | x | y |
-----|-----|-----|---------|----------|
ABC | 300 | 1 | 100.1 | 1.00 e 2 |
XY | 2 | 200 | 1.234 | 1.23 e 0 |
"#;
许可证
本项目在Apache-2.0/MIT下双授权。请参阅两个LICENSE-*文件以获取详细信息。
贡献
除非您明确说明,否则您提交的任何有意包含在作品中的贡献,根据Apache-2.0许可证定义,应如上所述双授权,不附加任何额外条款或条件。
依赖项
~320–780KB
~18K SLoC