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

时间:2018-04-27 21:15:06

标签: rust

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

1 个答案:

答案 0 :(得分:5)

使用ToString

Using engine django:
django.template.loaders.app_directories.Loader: /app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/templates/photos/index.html (Source does not exist)
django.template.loaders.app_directories.Loader: /app/.heroku/python/lib/python2.7/site-packages/django/contrib/auth/templates/photos/index.html (Source does not exist)
django.template.loaders.app_directories.Loader: /app/photos/templates/photos/index.html (Source does not exist)

或使用format!

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

使用格式化机制的任何其他方式也可以。

你可以通过查看documentation for Arguments并记下它实现的方法和特征来自己解决这个问题:

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

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与此无关,但CloneDebug是。