2013-03-29 26 views
17

Có cách nào để tìm ra một phần của lệnh ri của tôi mà không hiển thị tài liệu của Ruby:Làm thế nào để có được những tài liệu của Ruby từ dòng lệnh

$ ruby --version 
ruby 1.9.3p392 (2013-02-22 revision 39386) [i686-linux] 

$ ri --version 
ri 3.12.2  

$ ri String 
Nothing known about String 

Khi tôi sử dụng nâng lên:

$ pry --version 
Pry version 0.9.12 on Ruby 1.9.3 

$ pry 
[1] pry(main)> ri String 
# shows String documentation 
[2] pry(main)> ri String.split 
error: 'String.split' not found 
[3] pry(main)> ri String.strip 
String.strip not found, maybe you meant: 
String#strip_heredoc 

Tôi nên làm gì để làm cho tài liệu xuất hiện?

Trả lời

26

Nếu bạn đang sử dụng RVM để quản lý cài đặt của Ruby, bạn có thể làm điều này:

rvm docs generate 

Nếu không, hãy thử làm điều này:

gem install rdoc-data 
rdoc-data --install 

sau đó thử lệnh ri một lần nữa.

+0

không, tôi đang sử dụng ruby ​​từ quản lý gói archlinux của – Kokizzu

+0

ok, tôi sẽ cố gắng thứ hai: 3 nhờ – Kokizzu

+0

vâng, nó hoạt động: 3 nhờ – Kokizzu

3

Bạn đã đề cập trong nhận xét rằng bạn đang sử dụng gói Ruby từ trình quản lý gói của archlinux. Những gì bạn cần cho ri là cài đặt ruby-docs gói:

$ pacman -S ruby-docs 

Tôi đoán họ tách các gói để mọi người có người không muốn các tài liệu có thể tiết kiệm sử dụng đĩa.

2

Khi tôi sử dụng nâng lên:

$ pry --version 
Pry version 0.9.12 on Ruby 1.9.3 

$ pry 
[1] pry(main)> ri String 
# shows String documentation 
[2] pry(main)> ri String.split 
error: 'String.split' not found 
[3] pry(main)> ri String.strip 
String.strip not found, maybe you meant: 
String#strip_heredoc 

Tôi nên làm gì để làm cho tài liệu xuất hiện?

Vâng, không có phương pháp String.split hoặc String.strip. Tuy nhiên, có các phương pháp String#splitString#strip. Hãy thử yêu cầu cho những người đó, và bạn có thể sẽ nhận được tài liệu của họ.

+0

ah yes, cả hai. và # không hoạt động khi được nâng lên, nhưng cả hai đều hoạt động ở dòng comamnd ri bình thường – Kokizzu

11

Với nâng lên, nó tốt hơn để cài đặt pry-doc đá quý, và sau đó sử dụng show-doc lệnh:

[17] pry(main)> show-doc String#inspect 

From: string.c (C Method): 
Owner: String 
Visibility: public 
Signature: inspect() 
Number of lines: 6 

Returns a printable version of _str_, surrounded by quote marks, 
with special characters escaped. 

    str = "hello" 
    str[3] = "\b" 
    str.inspect  #=> "\"hel\\bo\"" 
[18] pry(main)> show-doc Array#pop 

From: array.c (C Method): 
Owner: Array 
Visibility: public 
Signature: pop(*arg1) 
Number of lines: 11 

Removes the last element from self and returns it, or 
nil if the array is empty. 

If a number n is given, returns an array of the last n elements 
(or less) just like array.slice!(-n, n) does. See also 
Array#push for the opposite effect. 

    a = [ "a", "b", "c", "d" ] 
    a.pop  #=> "d" 
    a.pop(2) #=> ["b", "c"] 
    a   #=> ["a"] 
[19] pry(main)> 

Lưu ý: bạn cũng có thể sử dụng ? bí danh cho show-doc nếu bạn thích.

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