Struct std::fmt::DebugTuple1.2.0[][src]

#[must_use = "must eventually call `finish()` on Debug builders"]
pub struct DebugTuple<'a, 'b> where
    '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

Auto Trait Implementations

Blanket Implementations

获取 selfTypeIdRead more

从拥有的值中一成不变地借用。 Read more

从拥有的值中借用。 Read more

执行转换。

执行转换。

发生转换错误时返回的类型。

执行转换。

发生转换错误时返回的类型。

执行转换。