できたもの
プログラム
print "\r"
で、カーソルをコンソールの行頭に移動させて、一行分上書きできる。
"\e[32m#{str}\e[0m"
で、任意の文字 str を緑色で表示させる。
sym = [
'\\',
'|',
'/',
'-'
]
def green(str)
"\e[32m#{str}\e[0m"
end
1.upto(100) do |i|
print "\r"
print " (#{sym[i % sym.length]}) ["
print ('/' * (i / 10)).ljust(10, ' ') << ']'
sleep 0.03
end
8.times do |i|
print "\r"
print ' (o) [ '
print green('ALL DONE'[0, i + 1].ljust(8, '.'))
print ' ]'
sleep 0.1
end
参考
https://stackoverflow.com/questions/1489183/how-can-i-use-ruby-to-colorize-the-text-output-to-a-terminal
https://stackoverflow.com/questions/31090782/how-to-overwrite-the-current-console-line-after-gets-in-ruby
https://ezgif.com/video-to-gif