Struct core::fmt::DebugTuple 1.2.0[−][src]
#[must_use = "must eventually call `finish()` on Debug builders"]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\")", );Run
Implementations
在生成的元组结构体输出中添加一个新字段。
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