当我运行此脚本时:
fn main() {
// \033[0;31m <- Red
// \033[0m <- No Color
println!("\033[0;31mSO\033[0m")
}
我希望得到
SO #in red letters
但是,我得到了:
33[0;31mSO33[0m
当我在Go或Python中运行类似的脚本时,我得到了预期的输出。到底是怎么回事?我错过了什么?怎么解决这个问题?
我正在使用:
$ rustc --version
rustc 1.3.0 (9a92aaf19 2015-09-15)
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
答案 0 :(得分:8)
Rust 1.3.0似乎不支持八进制转义字符串,例如\033
。
相反,您可以使用十六进制转义字符串,如\x1b
。
fn main(){
println!("\x1b[0;31mSO\x1b[0m")
}