■
#!/usr/bin/ruby # timer.rb MARKERS = "|~^=-()\'&%$#\"!+*;:@`[]{}|<>,.?_@" #MARKERS = ".:" #MARKERS = "bdpq" #MARKERS = "QO" #MARKERS = "zzzZ" #MARKERS = "..........oooO" #MARKERS = "--------------------------------+*" #MARKERS = " +*" #MARKERS = "2Z" GOAL = ARGV.size.zero? ? 30 : ARGV.shift.to_i START = Time.now loop do progress = (Time.now - START).to_i print "\r|" progress.times do print MARKERS[rand(MARKERS.size)].chr end print "| #{progress}" STDOUT.flush break if progress >= GOAL sleep 0.03 end puts "\a"
% ruby timer.rb 20
ストップウォッチが必要になったので書きました。
MARKERS をいろいろ変えてみるとちょっとたのしい。