#lazy-evaluation #help #wrap #macro

no-std format

一个实用软件包,可以更容易地使用格式化工具

9 个版本

0.2.4 2021 年 4 月 4 日
0.2.3 2020 年 9 月 26 日
0.2.2 2020 年 4 月 3 日
0.1.3 2020 年 4 月 1 日

#35 in #lazy

Download history • Rust 包仓库 48/week @ 2024-04-07 • Rust 包仓库 892/week @ 2024-04-14 • Rust 包仓库 183/week @ 2024-04-21 • Rust 包仓库 79/week @ 2024-04-28 • Rust 包仓库 979/week @ 2024-05-05 • Rust 包仓库 109/week @ 2024-05-12 • Rust 包仓库 70/week @ 2024-05-19 • Rust 包仓库 85/week @ 2024-05-26 • Rust 包仓库 577/week @ 2024-06-02 • Rust 包仓库 767/week @ 2024-06-09 • Rust 包仓库 107/week @ 2024-06-16 • Rust 包仓库 130/week @ 2024-06-23 • Rust 包仓库 29/week @ 2024-06-30 • Rust 包仓库 112/week @ 2024-07-07 • Rust 包仓库 187/week @ 2024-07-14 • Rust 包仓库 436/week @ 2024-07-21 • Rust 包仓库

每月 774 次下载
7 个软件包(6 个直接) 中使用

MIT/Apache

13KB
78

格式

crates.io docs.rs license ci minimum supported rust version

一个实用软件包,可以更容易地使用格式化工具

用法

将依赖项添加到您的 Cargo.toml

[dependencies]
format = "0.2"

并使用 lazy_format

struct Foo(usize);

impl Debug for Foo {
    fn fmt(&self, f: &mut Formatter) -> Result {
        let alternate = f.alternate();
        let bar = lazy_format!(|f| if alternate {
            write!(f, "{:#x}", self.0)
        } else {
            write!(f, "{:x}", self.0)
        });
        f.debug_tuple("Foo")
            .field(&format_args!("{}", bar))
            .finish()
    }
}

或格式类型之一

struct Foo(usize);

impl Debug for Foo {
    fn fmt(&self, f: &mut Formatter) -> Result {
        let alternate = f.alternate();
        let bar = LowerHex(|f| {
            if alternate {
                write!(f, "{:#x}", self.0)
            } else {
                write!(f, "{:x}", self.0)
            }
        });
        f.debug_tuple("Foo")
            .field(&format_args!("{:x}", bar))
            .finish()
    }
}

依赖关系

~220KB