色の変更
標準出力で色の変更をする。出力したい文字列の前に \u001b[31m
と書くと, 赤色で文字が出力される。
以下の通り様々な色へ変更できる。\u001b[0m
で文字色のリセットができる。
文字色 | 背景色 | |
---|---|---|
黒 | \u001b[30m | \u001b[40m |
赤 | \u001b[31m | \u001b[41m |
緑 | \u001b[32m | \u001b[42m |
黄色 | \u001b[33m | \u001b[43m |
青 | \u001b[34m | \u001b[44m |
マゼンタ | \u001b[35m | \u001b[45m |
シアン | \u001b[36m | \u001b[46m |
白 | \u001b[37m | \u001b[47m |
出力文字の消去
scala
for (i <- 1 to 10) {
println(i)
Thread.sleep(1000)
print("\u001b[1F\u001b[2K")
}
これを実行すると、1, 2, ..., 10 と順に数字が表示される。
i を出力して println によって改行された後、\u001b[1F
で1つ上の行にカーソルを移動させ、\u001b[2K
で i を出力した行の文字を消去している。
ここで使ったエスケープ文字の意味は以下の通り。
内容 | 記法 |
---|---|
行全体を消去 | \u001b[2K |
1行上の行の先頭にカーソル移動 | \u001b[1F |
今の行の先頭にカーソル移動 | \u001b[G |
参考
色んなANSIエスケープシーケンスが載っている。