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范例 压缩解压缩

Rust范例:使用 tar 压缩和解压缩:解压缩( GzDecoder )和 提取( Archive::unpack )一个压缩包 archive.tar.gz 的所有文件,并放在当前工作目录中。1. 将目录压缩为 tar 包:把 /var/log 目录压缩,为 archive.tar.gz。先创建一个 File ,传入压缩文件生成器 GzEncoder,最后使用 tar::Builder 构建 tar 包。