コンソールでカウントダウンされる表示の方法。
単にprintでバックスペースのエスケープ文字を出力するのみ。
count.rb
print "1秒"
sleep 1
(2..9).each do |num|
print "\b\b\b" + num.to_s + "秒"
sleep 1
end
マルチバイトだとバックスペース文字が複数個必要なのかな?
そのへんまだ調べてない。
改善版
count2.rb
count = (200..500).to_a.sample
(1..count).to_a.reverse.each do |num|
str = num.to_s + "秒"
print str
sleep 1
print "\b" * str.bytesize
end