2 个版本
0.2.1 | 2021 年 11 月 16 日 |
---|---|
0.2.0 | 2021 年 11 月 16 日 |
#9 在 #dbg
5KB
printd
此软件包提供对 dbg!()
宏的轻微修改版本。宏 printd!()
打印一个或多个可以带有标签的表达式。
与 std
中的 dbg!()
宏相比,它不使用“花哨”的调试格式化程序(:#?
),因为当调试的变量多于几个时,输出有时会太大。
该宏还支持打印调试消息并对多个表达式进行标记。(见示例。)
还有 eprintd!()
用于打印到 stderr
。
示例
基本用法。
printd!(1 + 2);
// [printd/README.md:20] 1 + 2 = 3
类似于 dbg!()
的用法,但输出更小。
let foo = vec![1, 2, 3];
dbg!(foo);
// [printd/README.md:31] foo = [
// 1,
// 2,
// 3,
// ]
let foo = vec![1, 2, 3];
printd!(foo);
// [printd/README.md:39] foo = [1, 2, 3]
支持多个表达式。
let foo = vec![1, 2, 3];
let bar = 69;
printd!(foo, bar);
// [printd/README.md:50] foo = [1, 2, 3]
// [printd/README.md:50] bar = 69
支持(美观的)调试消息。宏 dbg!()
不关心消息是否是字符串字面量,并打印丑陋的输出。
dbg!("Hello world!");
// [printd/README.md:62] "Hello world!" = "Hello world!"
printd!("Hello world!");
// [printd/README.md:65] "Hello world!"
您可以标记调试表达式以更好地组织它们。带有标签的表达式只会打印一次源位置。
let foo = vec![1, 2, 3];
let bar = 69;
let idk = String::from("Something else then foo and bar\n");
printd!("Very important variables", foo, bar);
// [printd/README.md:77] Very important variables
// foo = [1, 2, 3]
// bar = 69
// idk = "Something else then foo and bar\n"