Rust范例:ANSI 终端显示
本范例程序描述了 ansi_term 的用法,以及它是如何用于控制ANSI终端上的颜色和格式,例如,蓝色粗体文本或带黄色下划线的文本。
ansi_term 有两个主要的数据结构: ANSIString 和 Style 。其中,Style 保存风格信息:比如 颜色,文本粗体,文本闪烁等。还有 Colour 保存前景色样。ANSIString 是与 Style 配对的字符串。
注意:英式英语,要使用Colour代替Color,不要混淆。
1. 将彩色文本打印到终端
extern crate ansi_term; use ansi_term::Colour; fn main() { println!("This is {} in color, {} in color and {} in color", Colour::Red.paint("red"), Colour::Blue.paint("blue"), Colour::Green.paint("green")); }
2. 终端中使用粗体文字
比普通前景色更改更复杂的事情,就是需要构造 Style 结构。用 Style::new() 创建结构,和要设置的属性。
extern crate ansi_term; use ansi_term::Style; fn main() { println!("{} and this is not", Style::new().bold().paint("This is Bold")); }
2. 终端中的粗体和彩色文本
Colour 实现了许多与 Style 类似的函数。
extern crate ansi_term; use ansi_term::Colour; use ansi_term::Style; fn main(){ println!("{}, {} and {}", Colour::Yellow.paint("This is colored"), Style::new().bold().paint("this is bold"), Colour::Yellow.bold().paint("this is bold and colored")); }
Rust范例:使用 tar 压缩和解压缩:解压缩( GzDecoder )和 提取( Archive::unpack )一个压缩包 archive.tar.gz 的所有文件,并放在当前工作目录中。1. 将目录压缩为 tar 包:把 /var/log 目录压缩,为 archive.tar.gz。先创建一个 File ,传入压缩文件生成器 GzEncoder,最后使用 tar::Builder 构建 tar 包。