ラス・オルセン『Ruby によるデザインパターン』

晴。日差しは強いが、朝は涼しくなった。
早朝出勤。今日から三日間がキツい。
カレーハウスCoCo壱番屋岐阜都通店にて昼食。イカリングはトッピングに注文していないのですけれども。
日中、アスファルトの上は42℃を記録。庭に蝉がゴロゴロ死んでいる。七年間土の中で、外では一週間(ではないとか、色々薀蓄があるらしいが)の命か。月並みだが、何かと考えさせるね。

ラス・オルセンRuby によるデザインパターン』読了。Rubyist にとって最高の入門書のひとつではないか。無知というのは恐ろしいもので、「デザインパターン」として開発されてきた技法を知らなければ、OOP の力を充分に発揮することは不可能だということを、これまで知らなかった。なるほど、デザインパターンを使いこなせるようになって始めて中級者になれるとは、そういうことだったわけである。ただ、有名な「GoF本」は、OOPL としては主として C++Java のためのものなので、Ruby ならもう少しちがったやり方も可能だということだ。それが本書である。例えば RubyJava では発想がそもそもちがうので、どちらが優れているとかは無意味であるが、RubyOOP は柔軟で強力であり、自由度が高い。本書はそのことを教えてくれる。自分はまだ本書を消化しきれていないので、偉そうなことは何も云えないが、繰り返し読んでみたいと思っている。そして、再度「GoF本」にも挑戦してみたい。なお、本書は Rubyist ならば、「GoF本」より遥かに読みやすいと思う。例もわかりやすい。しかし、これが絶版だというのはさすがにマズイだろう。どこかから再出版するべきだと思う。

Rubyによるデザインパターン

Rubyによるデザインパターン


ここを参考に、ターミナルに Ruby で色をつけてみる。

print "\e[33mhello\e[0m"

とやると、黄色で「hello」と出力されます。エスケープシーケンスについてはここなど。ただし、Windows のターミナルはあまり機能をサポートしていないようです。例えば、文字の点滅などは無理。
 こんなのはどうでしょう。

for i in 1..15
  print "\e[1G" + i.to_s
  sleep(1)
end

別に普通ですね。こんなのとか。

print "\e[2J\e[1;1H\b"
for i in 1..10
  puts "*" * i
  sleep(0.2)
end


「私に責任があります」と言って責任を取らない風潮って、いったい何。「責任は誰にもありません」と言って責任を取らないなら、まだ筋は通っている(?)が。武士みたいに、過剰に責任を取って関係ないのに切腹とかも、よくわからないけれど。あれって、平和の世になって武士が必要なくなったため、ああいうことになったらしい。これは、たぶん筋だけは通っているのだよなあ。立派は立派だが、自分にはとても真似ができない。