Rust入門 vol.3

今回はRustで標準入力の内容を標準出力に出力してみます。

しかし、ただ標準出力に出すだけでは物足りないので、行番号を表示して、文字の色を変えてみます。

use std::io;

fn main() {
    let mut line = String::new();
    let mut n = 0;
    while io::stdin().read_line(&mut line).unwrap() > 0 {
        print!("{:>5} : \x1b[{}m{}\x1b[39m", n + 1, 31 + n % 7, line);
        line.clear();
        n += 1;
    }
    println!("{:>5} : ", n + 1);
}

実行するとこんな感じになります。

今回のプログラムの注意点としては、、、

  • read_lineで得られるlineは何もしないと、どんどん文字が連結されるので、clearを忘れないように。
  • 最後の「\x1b[39m」を忘れると、コマンド実行後に色が戻らなくなる。

たいしたプログラムでは無いですが、文字の色が変えられるとちょっとテンション上がりますね。