2009-02-04 57 views
3

所以我已經成爲了一個相當熟練的Rails開發人員,而且我發現我的瓶頸現在是我對更復雜的Ruby構造缺乏理解。我正在嘗試構建一些插件,並在那裏查看一些複雜的插件,他們的OOP魔術對我來說是希臘語。 (我從未有過多少正規訓練OOP所以這就是問題的一部分。)學習更高級的Ruby OOP構造的最好方法是什麼?

我想更好地瞭解:

  • 從一個地方發送方法,另一種(包括延長等)
  • 元編程&覆蓋方法(超)
  • 類的繼承,模塊等

嚴重紅寶石大部頭看起來太多了。有沒有一種實用的方法來學習這些東西,這將擴大我的權力,而不會讓我在語言的內部工作中壓倒我?

+0

該主題內在複雜。這不僅僅是OOP,它還涉及動態語言的本質,特別是Ruby非常靈活的元編程模型。如果有的話,這些書低估了複雜性恕我直言 - 我讀過他們,我還沒有完全得到它! – 2009-02-04 12:47:41

回答

3

最好的方法是使用它並通過查看其他人的代碼進行學習。

我不認爲有比the official documentation page更好的起始位置。

對不起,如果我讓你失望,但沒有容易方式來學習所有這些構造。

2

我發現ruby quiz是一個了不起的資源,以提高你的紅寶石的知識。您可以購買書籍版本或只使用網站上的條目。不同的問題會使他們使用不同的語言部分。

0

您還可以嘗試學習另一種語言(例如Java或C#)的基礎知識。

我認爲學習一種新的語言可以是一種非常高效和有趣的方式,以熟悉解決問題的不同方法(在您的情況下面向對象編程概念)。

一旦你知道如何編碼,學習一門新語言的基礎知識相對要容易,非常有趣,所以你往往會取得進展極快之初

而當你試圖抓住概念這對你來說是新的,在一個新的框架中理解它們可能會更容易。這樣你就可以專注於你想學習的概念,而不是用你的語言來解決這個問題的方式,等等......

1

最好的開始方法是理解階級hirarchies是如何工作的在內部讓你知道什麼時候打電話。換句話說,你需要了解元類。

這裏有兩個資源,幫助我最理解的概念:why´s explenationanother one

,你也可以嘗試這些ruby plus截屏。還有很多別的話題,你似乎在

2

要intrested我發現these截屏由戴夫·托馬斯是偉大的是,除此之外,它在標題務實的,所以你不能錯過:d

+0

是的!我昨天偶然發現了這些,看起來就像我收到的最接近的一樣。肯定會經歷他們。 他們是否包括像發送方法到其他類/控制器的東西?不確定'元程序'中包含什麼。 – 2009-02-11 08:33:04