lunlumo #9282(2009/07/03 20:17 GMT) [ Ruby ] Rating6/8=0.75
see: Binary Clock Widget
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
#! c:\ruby\bin\ruby.exe -Ks String.class_eval do |string| def words self.split(//) end def fix_width(width, padding) (self.words.size > width) ? self : (padding * (width - self.words.size) + self) end end Fixnum.class_eval do |fixnum| alias :to_s_orig :to_s def to_s(base, width) binary = self.to_s_orig(base).fix_width(width, "0") end end class BinaryClock attr_accessor :now def initialize self.now = Time.now end def print output(self.now.hour.to_s(2, 5)) output(self.now.min.to_s(2, 6)) end private def output(binary) puts binary.words.map { |f| f == "0" ? "□" : "■" }.join.fix_width(6, " ") end end BinaryClock.new.print
Rating6/8=0.75-0+
[ reply ]
lunlumo #9282() [ Ruby ] Rating6/8=0.75
20:18の場合,例えば以下の様な出力をするイメージです。
出力例:
■□■□□
□■□□■□
see: Binary Clock Widget
Rating6/8=0.75-0+
[ reply ]