Как преобразовать std :: fmt :: Arguments в строку? - PullRequest
0 голосов
/ 28 апреля 2018

Я хотел бы преобразовать std::fmt::Arguments в строковый тип. Однако, поскольку поля Arguments являются частными, я не могу напрямую преобразовать их в строку.

1 Ответ

0 голосов
/ 28 апреля 2018

Использование ToString:

fn example(a: std::fmt::Arguments) -> String {
    a.to_string()
}

Или используйте format!:

fn example(a: std::fmt::Arguments) -> String {
    format!("{}", a)
}

Любой другой способ использования механизма форматирования также будет работать.

Вы могли бы понять это сами, посмотрев документацию для 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>

Copy и Clone здесь не актуальны, но Debug и Display.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...