Rubyで標準出力に色をつける
業務で簡単なチェックスクリプトを書いていて、ごにょごにょやったことメモ。
Rspecを色つきで使っていると、チェック結果は色がついているほうが見やすいなーと思うわけで
Rubyの標準出力にどうやって色をつけるのかをしらべました。
Rubyで標準出力に色をつける
こちらのページを参考にさせていただいて、gemでterm-ansicolorを入れた。
require 'term/ansicolor' include Term::ANSIColor print red,"red string" + "\n" print reset print red, bold, "bold string" + "\n" + reset print green, "green string" + "\n" print reset
実行結果
print resetで色を標準に戻す感じかな。
boldってなんだかよくわからないけど、
とりあえずred と boldを指定するとオレンジっぽい色になりました。
putsと違って、行末に「\n」を付けないと改行されません。
githubのterm-ansicolorのexsamples.rbを見ると、いろいろ指定ができそう。
チェック結果がNGのときは、赤、OKだったら緑にすると見やすい〜。
ちなみにirbで試してみてて、最後の行のprint resetをしないで抜けると
そのまま標準出力が色つきのままになるのでご注意を。
もう一回、irbを起動して print reset すれば戻りますがね。