0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Scala】標準出力で文字色の変更・出力文字を消す【ANSIエスケープシーケンス】

Last updated at Posted at 2022-11-17

色の変更

 標準出力で色の変更をする。出力したい文字列の前に \u001b[31m と書くと, 赤色で文字が出力される。
image.png

 以下の通り様々な色へ変更できる。\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[2Ki を出力した行の文字を消去している。

 ここで使ったエスケープ文字の意味は以下の通り。

内容 記法
行全体を消去 \u001b[2K
1行上の行の先頭にカーソル移動 \u001b[1F
今の行の先頭にカーソル移動 \u001b[G

参考

 色んなANSIエスケープシーケンスが載っている。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?