看完這書,我在書上寫了幾段話:
「看完這本書,有種糊提貫頂的感覺,爽,可惜找不到人,不然好好聊聊」
「這本書寫得真好,作者如行雲流水,娓娓道來,把ruby物件模型一層層剝開。寫得好,我不覺讀了一遍又一遍。表達能力太重要了,我今後要加強表達能力的訓練。」
說實話,這本書,我很早就買了,但當時一直沒讀。我經常逛京東,基本一有寫得好的新書,立即就買了。在買書上,我是很大方的。也許我捨不得吃好點,但買書上,我沒有心疼的感覺。
在過了一段後,我撿起這本書重讀,慢慢進入意境,越讀越爽。
下面把我自己的一些理解,寫下來,就象看**一樣,把自己的所思所想,記下來。
第一章開啟類技術,就是對已經存在的類,你可重新開啟,增刪除改方法。
這個倒好理解,關鍵的,作者把class看成一種作用域操作符,而不是型別宣告語句。當時可把我難住了。確實,如果看成作者域,當然可以隨時開啟、關閉。
接著,作者介紹了類的真相。就是物件中只儲存有變數,而方法等儲存在類中。
記得侯傑曾有一書,深入介紹c++物件模型,其中也講到這一點。但作者說,每個物件中的變數都可能不用,如
class myclass
def my_methods
@v=1
endend
obj=myclass.new
此時,obj是沒有任何物件變數的,只有呼叫
obj.my_methods()
後,才會有變數存在。當時很是不解。物件有的變數不是固定的話,作者把物件的變數看成雜湊表的值,費了好久才理解。
方法呢?不在物件中,這我可以理解。就象我們的錢,都儲存在銀行中一樣。因為如果每個物件都儲存一組方法定義,這太多餘了。就象每個人都把全部錢放地身上一樣,沒必要。
作者接著仔細介紹方法查詢的過程。
在設計模式中,有責任鏈模式,就是乙個物件接到命令,他能處理,就處理,不能處理就交給上級;上級也同樣處理。
我感覺,方法的查詢也一樣,ruby應該在物件定義後,儲存了方法鏈,然後一級一級查詢。
這個我可以理解。不過,self這真是理解不了。甚至有段時間,想找ruby的原始碼讀,到底self是啥意思,但找到原始碼一看,發現處理選項時的**和sed的getopt.c,getopt.h的幾乎一樣,於是我就又回到了gnu原始碼。
今天先寫到這兒吧。
ruby元程式設計讀後感
買來後花了乙個下午,粗讀了一遍,有很多新知識,也有些看不懂的,需要慢慢消化。明白了幾點 1 開啟類的概念,而不是簡單的定義類 3.times do class c puts hello endend 2 列舉陣列的方法 methods 3 kernel是乙個模組,不是乙個類 4 動態定義方法 def...
《C程式設計》讀後感
c程式設計 讀後感 網上很多人評價這書不高,其實從內心裡講,是這本書帶領我入門的。我說的是譚浩強先生的書。這本書講得很細,而且知識的銜接也做得很好。我以這本書為重點,再以其它的c語言教程為輔,終於算是入了c語言的門。如果能讓我再從頭學習的話,我一定是認真的讀這本教材,再把c的標準庫的原始碼作為閱讀材...
《程式設計實踐》讀後感
程式設計實踐 讀後感 昨天晚上讀這本書,重點讀資料結構這一章,也許是因為讀gawk101原始碼有一段時間,在重讀時,感覺作者寫得真好。我重點放在書中的 上,發現那些 寫得像珍珠一樣,真是漂亮。作者寫了鍊錶,然後再寫乙個遍歷鍊錶的函式,因為遍歷鍊錶時,可能是要列印,可能是要統計元素個數,可能是要找某個...