Struct core::fmt::DebugTuple 1.2.0[−][src]
pub struct DebugTuple<'a, 'b: 'a> { /* fields omitted */ }
Expand description
一个有助于 fmt::Debug
实现的结构体。
当您希望将格式化的元组作为 Debug::fmt
实现的一部分输出时,此功能很有用。
这可以通过 Formatter::debug_tuple
方法创建。
Examples
use std::fmt;
struct Foo(i32, String);
impl fmt::Debug for Foo {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
fmt.debug_tuple("Foo")
.field(&self.0)
.field(&self.1)
.finish()
}
}
assert_eq!(
format!("{:?}", Foo(10, "Hello World".to_string())),
"Foo(10, \"Hello World\")",
);
RunImplementations
在生成的元组结构体输出中添加一个新字段。
Examples
use std::fmt;
struct Foo(i32, String);
impl fmt::Debug for Foo {
fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
fmt.debug_tuple("Foo")
.field(&self.0) // 我们添加第一个字段。
.field(&self.1) // 我们添加第二个字段。
.finish() // 我们很高兴去!
}
}
assert_eq!(
format!("{:?}", Foo(10, "Hello World".to_string())),
"Foo(10, \"Hello World\")",
);
Run完成输出并返回遇到的任何错误。
Examples
use std::fmt;
struct Foo(i32, String);
impl fmt::Debug for Foo {
fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
fmt.debug_tuple("Foo")
.field(&self.0)
.field(&self.1)
.finish() // 您需要调用它到 "finish"
// 元组格式。
}
}
assert_eq!(
format!("{:?}", Foo(10, "Hello World".to_string())),
"Foo(10, \"Hello World\")",
);
Run