22 个稳定版本

2.0.3 2023 年 11 月 29 日
2.0.0 2022 年 8 月 11 日
1.10.0 2021 年 12 月 5 日
1.9.0 2021 年 8 月 21 日
1.2.1 2019 年 2 月 16 日

#87Rust 模式

Download history 24277/week @ 2024-04-03 16218/week @ 2024-04-10 24781/week @ 2024-04-17 25678/week @ 2024-04-24 26320/week @ 2024-05-01 19965/week @ 2024-05-08 27763/week @ 2024-05-15 29443/week @ 2024-05-22 32887/week @ 2024-05-29 26971/week @ 2024-06-05 24697/week @ 2024-06-12 24737/week @ 2024-06-19 27493/week @ 2024-06-26 23585/week @ 2024-07-03 27727/week @ 2024-07-10 21465/week @ 2024-07-17

106,845 每月下载量
用于 36 库(16 个直接使用)

MPL-2.0 许可证

20KB
150

Travis (.com) Crates.io docs.rs license

lazy_format

一个用于惰性格式化事物的 [no_std] 库。因为只为将字符串写入缓冲流而分配临时字符串对你的健康不利。

use std::io;

use lazy_format::lazy_format;
use joinery::JoinableIterator;

fn main() {
	let result = (0..10)
		.map(|value| lazy_format!("\t'{}'", value))
		.join_with("\n")
		.to_string();

	assert_eq!(result,
"	'0'
	'1'
	'2'
	'3'
	'4'
	'5'
	'6'
	'7'
	'8'
	'9'")
}

上面的示例是关键动机示例:当你构建一些想要写入或格式化的对象时,没有必要分配中间字符串(这就是 format! 所做的)。相反,lazy_format! 捕获其参数,并返回一个具有 Display 实现的不透明结构体,这样实际的格式化就可以直接进入其最终目标缓冲区(例如文件或字符串)。

无运行时依赖项