時計の絵をかいたら時計になるなんて、Ruby はとっても宣言的な言語ですね!
eval s=%w(0;y=""<
<32;z="eval((;s=%w(#{s}
)*''));; %" <<43<<s;
d="";" 0v vvnvn2
mj4kil 0v lvvul2
6l94ol 0v lv7vv"
.scan (/ .{7}/
){|n| 2. times
{d.< <T ime.
now. to_s.unpack(" C*")
[11, 8].map{|i|("% 03b"
.%7&n .to_i
(32)> >3*i-
=48).g sub(/.
/){s>$ &?y*3:
z.slic e!(0,3
)}}*y<<1 0}};puts
(d.strip.chop<<43))*''#
#(c) Y.Endoh 2009こんな風に実行します。ruby 1.8 でも 1.9 でも動くと思う。
$ ruby quineclock.rb | tee q.rb $ ruby q.rb $ ruby q.rb $ ruby q.rb
よくわからなかったら、画面から離れて目を細めてみてね。