Struct std::fmt::DebugTuple
1.2.0 · source · pub struct DebugTuple<'a, 'b>where
'b: 'a,{ /* private fields */ }
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§
source§impl<'a, 'b> DebugTuple<'a, 'b>where
'b: 'a,
impl<'a, 'b> DebugTuple<'a, 'b>where 'b: 'a,
sourcepub fn field(&mut self, value: &dyn Debug) -> &mut DebugTuple<'a, 'b>
pub fn field(&mut self, value: &dyn Debug) -> &mut DebugTuple<'a, 'b>
在生成的元组结构体输出中添加一个新字段。
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\")",
);
Runsourcepub fn finish(&mut self) -> Result<(), Error>
pub fn finish(&mut self) -> Result<(), Error>
完成输出并返回遇到的任何错误。
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