Ruby 的繼承鍊 (1) - 如何實踐物件導向

先前看了 Metaprogramming Ruby 這本書,對於 Ruby 語言在實踐物件導向的方式有初步的了解,但整本書像是利用故事的方式來帶入觀念,難免不夠精練。直到最近看了泰安大大推薦我一部 Dave Thomas 在解釋 Ruby Object model 的 talk 之後,完全是貫穿了之前破碎和模糊的觀念,趁著忘記之前趕緊寫下這篇文章。 »

Metaprogramming Ruby (2) 動態方法

Dynamic Dispatch 一般呼叫方法的方式 obj.my_method(3) 這裡面 receiver 是指物件 obj,方法名稱是 my_method,可以改由 send 方法來呼叫。 obj.send(:my_method, 3) 這樣的好處是 method 的名稱可以作為一個參數傳遞。 attr »

Metaprogramming Ruby (1) 物件的基礎概念

又來開新副本了,經過朋友推薦看了這本 Metaprogramming Ruby 2 之後覺得 Ruby 真的是很神奇的語言,也了解了 Ruby 為什麼適合做一個 DSL ,推薦要撰寫 ruby 的朋友一定要閱讀這本書,雖然不見得會用到這些技巧,但是會了解 Ruby 與 C++ JAVA 這些物件導向語言的最大不同之處以及 Ruby 強大的地方。 open class »