如何将std :: fmt :: Arguments转换为字符串?

Dra*_*ght 1 rust

我想将a转换std::fmt::Arguments为字符串类型.但是,由于字段Arguments是私有的,我无法直接将其转换为字符串.

She*_*ter 5

用途ToString:

fn example(a: std::fmt::Arguments) -> String {
    a.to_string()
}
Run Code Online (Sandbox Code Playgroud)

或使用format!:

fn example(a: std::fmt::Arguments) -> String {
    format!("{}", a)
}
Run Code Online (Sandbox Code Playgroud)

使用格式化机制的任何其他方式也将起作用.

您可以通过查看文档Arguments并记录它实现的方法和特征来自己解决这个问题:

impl<'a> Debug for Arguments<'a>
impl<'a> Clone for Arguments<'a>
impl<'a> Display for Arguments<'a>
impl<'a> Copy for Arguments<'a>
Run Code Online (Sandbox Code Playgroud)

Copy并且Clone在这里不相关,但是DebugDisplay.