以"笨方法學Ruby(Learn Ruby The Hard Way)"為教材, 真實記錄一個程式語言的外行人在實際練習"笨方法學Ruby"時對每一行程式碼的自問自答, 而隨著不停學習, 又推翻之前自以為是的錯誤解答的學習旅程, 希望能鼓勵更多和我一樣不懂程式語言卻又想學Ruby的人, 看看我是怎麼在程式碼裡撞牆跌倒又爬起來. 當然, 也希望各位前輩能夠在我把這些自以為是的錯誤解答貼出來時能夠不吝指教, 因為我不討拍, 而是來討教的!
ex.41: Object Oriented就是所謂的物件導向, 我的理解, 就是像積木一樣, 一塊塊的可以拿來使用, 這個練習裡Zed幫我們準備了一個考試機器, 請將code貼進ex41.rb然後執行, 程式會吐出一段code, 然後我們輸入解答, 接著系統會印出答案讓我們看, 就這樣一直練習到我們本能的看到一段code就能回答為止.
ex.42 要理解class和object之間的關係, 可以先想想"白馬非馬"的邏輯, 這邊Zed是拿魚/鮭魚作舉例, 鮭魚是魚, 我們現在有三條鮭魚, 分別叫徐子陵, 寇仲還有項少龍, 對應到Ruby中的話就是:
魚: class
鮭魚: class
徐子陵/寇仲/項少龍: object
class沒有辦法代表真正存在的物品, 只是一種概念, 我們會用很多種形容詞(attribute)去架構, 補充這個概念, "有鰭", "有鱗", "住在水裡", 恩, 那可能是魚這個class. 如果再進一步的用更多更詳細的形容詞, 我們可能會知道這種魚是鮭魚, 也就是另一種class, 但是要真正的找到一條魚, 我們必須要給出一個名字, 直到這個時候, 我們才真正的有了一條魚.
所以一整串的邏輯下來, object is a class is a class.
作業裡的一長串判別通通沒有解答, 所以我寫的也有可能是錯的...