【发布时间】:2018-04-19 05:34:50
【问题描述】:
我写了以下函数:
fn print_error(text: &str) {
let mut t = term::stdout().unwrap();
t.fg(term::color::RED).unwrap();
(write!(t, text)).unwrap();
assert!(t.reset().unwrap());
}
它应该获取字符串并在控制台上以红色打印出来。 当我尝试编译时,编译器会说:
error: format argument must be a string literal.
--> src/main.rs:4:16
|
4 | (write!(t, text)).unwrap();
| ^^^^
经过大量搜索,我发现我可以将 text 变量替换为例如"text" 它会起作用,因为它是一个字符串文字,write! 宏需要它。
如何将write! 宏与字符串而不是字符串文字一起使用?或者有没有更好的方法来为终端输出着色?
【问题讨论】:
标签: rust