2013-03-29 4 views
17

Gibt es eine Möglichkeit Teil meines ri Befehl, um herauszufinden, welche die nicht Rubys Dokumentation zeigt:Wie bekommen die Ruby-Dokumentation über die Befehlszeile

$ 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 

Wenn ich hebeln:

$ 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 

Was muss ich tun, damit die Dokumentation angezeigt wird?

Antwort

26

Wenn Sie RVM verwenden Ruby Installationen zu verwalten, dies zu tun:

rvm docs generate 

Wenn nicht, versuchen dies zu tun:

gem install rdoc-data 
rdoc-data --install 

dann erneut den Befehl ri versuchen.

+0

nein, ich bin mit Ruby aus dem Paket der archlinux Manager – Kokizzu

+0

ok, werde ich versuchen, den zweiten: 3 Dank – Kokizzu

+0

ja, es funktioniert: 3 Dank – Kokizzu

3

Sie haben in einem Kommentar erwähnt, dass Sie das Ruby-Paket aus dem Paketmanager von archlinux verwenden. Was Sie brauchen für ri ist das ruby-docs Paket zu installieren:

$ pacman -S ruby-docs 

ich sie die Pakete trennen erraten, damit die Leute, die auf der Festplatte Nutzung nicht speichern Sie die Dokumentation wollen können.

2

Als ich hebeln verwenden:

$ 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 

Was soll ich tun, die Dokumentation erscheinen zu lassen?

Nun, es gibt keine Methoden String.split oder String.strip. Es gibt jedoch die Methoden String#split und String#strip. Fragen Sie nach denen, und Sie werden wahrscheinlich ihre Dokumentation bekommen.

+0

ah ja, beides. und # funktionieren nicht, wenn sie in der Warteschlange sind, aber beide funktionieren in normaler ri-comamnd-Zeile – Kokizzu

11

Mit hebeln, dann ist es besser, die pry-doc Juwel zu installieren, und verwenden Sie dann den Befehl show-doc:

[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)> 

Hinweis: Sie können auch die ? alias für show-doc verwenden, wenn Sie es vorziehen.

Verwandte Themen