2012-01-08 33 views
5

Hôm qua, tôi answered a question về cách hoạt động của attr_accessor. Tôi muốn liên kết tới tài liệu của phương pháp, nhưng tôi ngạc nhiên, nó là didn't show up trên ruby-doc.org. Không nên ghi lại trong Module.html? Tôi khá chắc chắn rằng nó đã có một lần, như ri Module#attr_accessorAPIDock hiển thị tài liệu chính xác và Google search cho ra trang này trong số các lần truy cập đầu tiên.Tài liệu chính thức cho `attr_accessor` và các phương thức khác của` Mô-đun` là gì?

Bây giờ tôi tự hỏi: Tại sao họ loại bỏ tài liệu phương pháp rất phổ biến này (và cũng là các phương pháp quan trọng khác như Module#define_method)? Và tài liệu chính thức cho những tài liệu đó ở đâu?

+0

Vâng, tôi cũng đã tìm kiếm nó. Đây là một trang web tuyệt vời tôi thích hơn tài liệu khi tôi muốn tìm hiểu điều gì đó: http://www.rubyist.net/~slagell/ruby/accessors.html. Tôi chắc chắn không có tài liệu nào trên ruby-doc.org vì: http://ruby-doc.org/search.html?cx=011815814100681837392%3Awnccv6st5qk&q=attr_accessor&sa=Search&cof=FORID%3A9 – itdoesntwork

Trả lời

5

tôi quyết định viết một E-Mail để các nhà bảo trì của ruby-doc.org và hỏi chúng về tài liệu còn thiếu của các phương pháp này. Tôi đã nhận được câu trả lời sau:

Chúng là phương pháp riêng tư và theo mặc định không xuất hiện trong đầu ra rdoc.

Đây là một hoàn cảnh bất hạnh, vì không giống như hầu hết các phương pháp tư nhân (có sử dụng nên tránh vì chúng thường thực hiện chi tiết, không phải là một phần của một API công cộng) attr_ * và như vậy có thực sự có ý định để sử dụng chung.

Không chắc chắn giải pháp phù hợp là gì.

James

Trong thư thứ hai:

tôi đã thảo luận điều này với Greg Brown, Eric Hodel, và một vài người khác đã làm việc để cải thiện rdocs cho 1.9.

Sự đồng thuận chung là hiển thị tất cả các phương pháp riêng sẽ là một ý tưởng tồi ở chỗ nó sẽ (có lẽ vô tình) khuyến khích mọi người phương pháp sử dụng đó phải chịu trách nhiệm thay đổi từ một phiên bản nhỏ cho tới. Nhưng họ đánh giá cao rằng các phương pháp riêng như attr_ * là, trong khi về mặt kỹ thuật riêng tư, được sử dụng theo cách công khai và các tài liệu cần phải xuất hiện theo mặc định.

Tôi đã thử đặt một số chỉ thị rdoc trên mã cho các mã này trong mã nguồn C nhưng không có hiệu lực.Có vẻ như những gì cần thiết là một số cách bổ sung để cho biết rằng, hành vi, phương pháp là riêng tư, nhưng đối với tài liệu thì công khai.

Tôi sẽ phải theo dõi điều này để xem liệu 1.9 nhóm cải thiện tài liệu có đưa ra bất kỳ điều gì không.

Cảm ơn,

James Britt

Xem thêm this thread để biết thêm thông tin và một tuyên bố của James về vấn đề này. Trong chủ đề này, ông cũng nói rằng chỉ thị :doc: thường có sẵn trong RDoc để giải quyết vấn đề chính xác này trong mã Ruby dường như không hoạt động đối với tài liệu cấp C.

Câu trả lời này có vẻ hợp lý. Có lẽ họ sẽ thay đổi nó trong tương lai.

+0

Cảm ơn bạn đã theo dõi. –

+1

Xin chào, đó là tôi! Tôi đã bắt đầu chuỗi đó vì câu hỏi Stack Overflow. –

+0

@Andrew: Xin chào, thật trùng hợp. Đó là một thế giới nhỏ bé, đó là Ruby :) –

1

apidoc version

Tôi nhận được mọi thứ từ đó.

Ồ, bạn đã chỉnh sửa câu hỏi.

Có, nó nên ở đó, nhưng có vẻ như rất nhiều phương pháp C không còn nữa.

+0

Tôi biết điều đó, nhưng APIDock không có tài liệu chính thức, phải không? Bạn có biết tại sao nó không có trên rubydoc.org? –

+0

@NiklasBaumstark Nó được tạo từ cùng một nguồn. Cá nhân, tôi chạy tài liệu tại địa phương bây giờ bằng cách sử dụng [sdoc] (https://github.com/voloko/sdoc) vì vậy tôi không phải lo lắng về nó. –

+0

Xin lỗi vì tôi đã chỉnh sửa tiêu đề sau khi bạn trả lời, bây giờ nó phản ánh các câu hỏi trong văn bản của tôi ngay từ đầu. –

Các vấn đề liên quan