当我有一个Arguments
实例时,是否可以读取组成它的部分?
似乎我唯一能做的就是把它传给format!
和朋友。
那么在下面的例子中,是否可以读取"{} hello {}"
、1
和2
?
我提出这个问题的原因是,我想实现一个自定义的fern
log
格式,并且我想确定是否有任何字符串是有效的JSON,以便它们可以进入一个单独的meta
JSON键,用于JSON行日志记录。这样,JSON数据就不需要由最终用户从消息中进行解析。
https://doc.rust-lang.org/std/fmt/struct.Arguments.html
let x: Arguments = format_args!("{} hello {}", 1, 2);
// Can I read back the parts from `x`?
否,Arguments
不会以可检查的方式暴露其内部。
即使您可以访问内部(如源代码中所示(,元素也以类型擦除的形式存储,这使得除了通过相关的格式化函数运行它之外,很难使用它。