2012-01-08 37 views
5

昨天我answered a question關於attr_accessor如何工作。我想鏈接到該方法的文檔,但令我驚訝的是,它在ruby-doc.org上的didn't show up。不應該在Module.html中記錄嗎?我敢肯定,這是有一次,爲ri Module#attr_accessorAPIDock顯示正確的文檔和Google search產生第一命中當中這個網頁。「attr_accessor」和「Module」的其他方法的官方文檔在哪裏?

現在我想知道:爲什麼他們消除這種很常見的方法的文檔(同時又有像Module#define_method其他重要的方法)?那些官方文檔在哪裏?

+0

是的,我也找過它。當我想學習某些東西時,以下是我比文檔更喜歡的一個令人驚歎的網站:http://www.rubyist.net/~slagell/ruby/accessors.html。我很確定沒有關於ruby-doc.org的文檔,因爲:http://ruby-doc.org/search.html?cx=011815814100681837392%3Awnccv6st5qk&q=attr_accessor&sa=Search&cof=FORID%3A9 – itdoesntwork 2012-01-08 14:20:01

回答

5

,我決定寫一封電子郵件給ruby-doc.org維護者和要求他們瞭解這些方法的遺漏文檔。我收到以下回答:

它們是私有方法,默認情況下不會出現在rdoc輸出中。

這是一個不幸的情況,因爲不像大多數私有方法 (其使用中應避免,因爲它們通常實現 細節,不是公共API的一部分)attr_ *和如真的打算 用於一般用途。

不知道正確的解決方案是在這裏。

詹姆斯

在第二郵箱:

我與格雷格·布朗,埃裏克·霍德爾,誰 一直在努力改善rdocs 1.9其他幾個人討論過這個。

普遍的共識是,顯示所有的私有方法將是它將(或許是無心)鼓勵人們使用 方法是可能發生改變,從一個小的釋放到 未來一個 壞主意。但是,他們認識到,私人的方法,如attr_ *的,而 技術上私人,在某種公開的方式與該文檔 需要在默認情況下會出現使用。

我試着在C 源代碼,這些代碼中設置一些RDoc的指令,但它沒有任何效果。看起來需要的是 一些額外的方式來表明,在行爲上,一種方法是私密的,但對於文檔它是公開的。

我將不得不跟進,看看1.9文檔改進團隊 是否提出了任何問題。

感謝,

詹姆斯·布里特

另見this thread更多的信息和詹姆斯有關此問題的另一種說法。在這個主題中,他還表示,RDoc中通常提供的:doc:指令用於解決Ruby代碼中的這個確切問題似乎不適用於C級文檔。

這個答案似乎很明智。也許他們將來會改變它。

+0

感謝您的跟進。 – 2012-01-08 16:16:00

+1

嘿,那就是我!我也是因爲Stack Overflow問題而啓動該線程的。 – 2012-01-08 21:43:07

+0

@安德魯:嗨,真是巧合。這是一個小世界,那個Ruby :) – 2012-01-08 21:50:04

1

apidoc version

我從那裏得到一切。

哦,你編輯的問題。

是的,它應該在那裏,但似乎很多C方法都沒有了。

+0

我知道這一點,但APIDock沒有官方文檔,對吧?你知道爲什麼它不在rubydoc.org上嗎? – 2012-01-08 14:16:31

+0

@NiklasBaumstark它是從同一個源生成的。就我個人而言,我現在使用[sdoc](https://github.com/voloko/sdoc)在本地運行文檔,所以我不必擔心它。 – 2012-01-08 14:21:05

+0

對不起,我回答後編輯了標題,它現在反映了從一開始我的文字中的問題。 – 2012-01-08 14:22:10

相關問題