文字に色をつける場合には escape sequence を用いる。 adv_color.rb:
#!/usr/koeki/bin/ruby
#coding:euc-jp
i = 0
while i < 8
printf("%c[%dm 文字の色が変わります \n",0x1b,30+i)
i += 1
end
j = 0
while j < 8
printf("%c[%d;%dm 背景に色がつきます \n",0x1b,40+j,37-j)
j += 1
end
printf("%c[%d;%dm 太字に変わります \n",0x1b,0,1)
文字の色は 2 進法で 0b11110 から始まり、赤 Red 、緑 Green 、青 Blue ごとに 0b1, 0b10, 0b100 を割り当てて加えている。また、背景色は 0b101000 から始まる。 二つを同時に変更するときには ; をつける。Esc-[ が文字に効果を与える escape sequence (文字コード 0x1b) である。
0x1b[色番号m文字色か背景の変化 0x1b[背景番号;色番号m背景と文字色の変化 色番号は 30 番台, 背景は 40 番台
8 色の背景や文字を使ってカラフルなアートに挑戦してみよう。
例えば、書き出すプログラム を参考に、作ってみよう。このプログラムではフォントも書いておいた。