Skip to content
7月 14 / rakkyoo

rubyでターミナル上でのflush表示を試みてみる

ターミナル上で,カウントダウンみたいなことができたらなと思い,試してみました.
とっても簡単にできるのですね.
ターミナル上でカーソルを動かすには,以下のようにすれば動くとのことなので,

1
2
3
4
5
6
7
printf "\e[1A" # ← カーソルを上に
 
printf "\e[1B" # ← カーソルを下に
 
printf "\e[1C" # ← カーソルを右に
 
printf "\e[1D" # ← カーソルを左に

これを使って,簡単にできました.

1
2
3
4
5
6
7
# -*- coding: utf-8 -*-
(0..5).each do |num|
  puts " ---   #{5-num}   ---"
  sleep 1
  printf "\e[1A"
#  STDOUT.flush
end

私の環境では,「STDOUT.flush」をしなくてもできました.
結果は,以下のような感じです.

とっても簡単でした.
これで,またいろいろと遊べそうです.

[`twib` not found]

Leave a comment

CAPTCHA


This blog is kept spam free by WP-SpamFree.