Re:Start

いまはディレクターやってます

rubyはプログラマの力量を計るにもってこいだね。

はじめのrubyから読むことにしました。
javaとの差を目の当たりにしつつ、ついにブロック関数まで辿りついたわけですが、

#!/usr/bin/ruby
#例7-28
class SleepyPerson
    def register_handler(&handler)
        @event_handler = handler
    end
    def wake_up!
        @event_handler.call Time.now, "woke up"
    end
end
john = SleepyPerson.new
john.register_handler{|time, message| p [time, message]}
john.wake_up!


いまいちよくわからない・・・
組み込み関数ってどこまで覚えるんだろう?
設定より規約を微妙に体感する限りです。にしても写経するとやっぱ違いますね。

ブロックはクロージャーです。
メソッドはクロージャーではありません。


まだあまりよくわからないけどグッときた!


rubyPL/SQLとかマクロとかを普段使ってる人のほうが使い方に慣れる気がした。
使ってる言語やタイプが似てると思った。なんでだろ?


Rubyのクラスはオープンクラスである!

#!/usr/bin/ruby
class Animal; end
class Yahoo < Animal; end
class Yahoo; end
p Yahoo.superclass

どんなクラスでも、このように書くとメソッドを追加できたりするらしい。すげえ!
基本上書きも可能。防ぎたければfreezeを定義すること