我正在從.NET轉向Ruby,並且我開始對這門語言有一個相當好的把握。然而,我仍然想了解更多有關許多事情。Ruby Book有關如何在引擎蓋下工作的建議?
在C#中,我讀過的最好的書籍之一是通過C#調用CLR。它詳細介紹了CLR是如何工作的,內存是如何工作的,垃圾收集,反射等等。
是否有與Ruby等價的書?解釋翻譯者在封面下看起來像什麼的東西?
我正在從.NET轉向Ruby,並且我開始對這門語言有一個相當好的把握。然而,我仍然想了解更多有關許多事情。Ruby Book有關如何在引擎蓋下工作的建議?
在C#中,我讀過的最好的書籍之一是通過C#調用CLR。它詳細介紹了CLR是如何工作的,內存是如何工作的,垃圾收集,反射等等。
是否有與Ruby等價的書?解釋翻譯者在封面下看起來像什麼的東西?
Ruby中沒有「解釋器」。 Ruby是編程語言,一種編程語言是一種抽象的數學對象,一套邏輯規則和限制。
對於Ruby的子集,有一個ISO specification。曾經有一套以Ruby編寫的全面的可執行示例,稱爲RubySpec,但不幸的是,由於缺乏Ruby的語言設計者的支持,它被維護人員拋棄;然而,幾種實現仍然在內部使用它來進行測試,例如, Rubinius和JRuby。還有一組測試旨在指定YARV實現中的語言行爲,這是大多數語言設計者正在攻擊的實現。
有紅寶石的若干實施方式,但是,沒有這些實現的是一個解釋器,它們都具有至少一個,一些多個編譯器:
我試圖命令它們從最簡單到最難讀的源代碼,並且順便也從最多到最不感興趣。 (我認爲JRuby + Truffle非常棒,當談到關於如何讓Ruby快速發展的有趣想法時,Rubinius和Topaz應該就在那裏)。
我之所以命令他們從最簡單到最難讀的源代碼是因爲,實際上沒有任何書籍描述各種實現。閱讀來源可能是你最好的選擇。然而,典型的Smalltalk-80: The Language and its Implementation (aka the Blue Book)是Rubinius設計的重要靈感。儘管JRuby + Truffle作爲一個研究項目已經發表了相當數量的論文。
有一個Ruby Bibliography Page有一些鏈接到論文,主要關於JRuby +松露,但也關於MagLev和JRuby。