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!
いまいちよくわからない・・・
組み込み関数ってどこまで覚えるんだろう?
設定より規約を微妙に体感する限りです。にしても写経するとやっぱ違いますね。
ブロックはクロージャーです。
メソッドはクロージャーではありません。
まだあまりよくわからないけどグッときた!
rubyはPL/SQLとかマクロとかを普段使ってる人のほうが使い方に慣れる気がした。
使ってる言語やタイプが似てると思った。なんでだろ?
Rubyのクラスはオープンクラスである!
#!/usr/bin/ruby class Animal; end class Yahoo < Animal; end class Yahoo; end p Yahoo.superclass
どんなクラスでも、このように書くとメソッドを追加できたりするらしい。すげえ!
基本上書きも可能。防ぎたければfreezeを定義すること