2010-12-26 28 views
10

Sono relativamente nuovo a Ruby e ho un tempo limitato, quindi provo cose semplici. Recentemente avevo bisogno di creare un file e perché sono pigro come l'inferno, corro a Google. Il risultato:Qualità della documentazione di nucleo di rubino

File.open(local_filename, 'w') {|f| f.write(doc) } 

La vergogna per me, è molto semplice, avrei dovuto farlo io stesso. Quindi volevo controllare quale magia rubino offrissero i metodi della classe File o se ci fosse una "semplificazione" quando invocavo quei metodi, quindi mi diressi verso la documentazione here e controllò la classe File.

  • 1.8.6 la documentazione mi presenta con "ftools.rb: strumenti aggiuntivi per la classe File" nella classe "File", che non è quello che sto cercando.
  • 1.8.7 la documentazione sembra OK per la classe 'File', ci sono una pletora di metodi. Tranne "aperto".
  • 1.9 la documentazione finalmente mi mostra il metodo "aperto".

E ho avuto un tour quasi identico con Net :: HTTP.

faccio esagero quando penso buon vecchio documentazione del Turbo Pascal 7.0 è stato meglio organizzato rispetto alla documentazione di Ruby è in questo momento? C'è qualche altra fonte per i non iniziati per raccogliere conoscenza? O è possibile che sia appena entrato in un buco nella documentazione e il resto sia super-brillante: cinque stelle organizzate?

Grazie

+2

Con Ruby (e con qualcosa chiamato Ruby on Rails), devi sapere cosa cercare. Sono d'accordo che la documentazione online per entrambi potrebbe essere immensamente migliore! – Zabba

+3

Personalmente, quasi sempre vado su http://rubydoc.info/ invece di ruby-doc.org. Trovo più facile navigare, e può anche generare documentazione per le gemme (su richiesta). Anche io sono piuttosto pigro. –

+0

@phoffer +1 per rubydoc.info. Non avevo incontrato quel sito. –

risposta

5

Bisogna ricordare che Ruby è un linguaggio orientato agli oggetti, e un sacco di oggetti nella libreria standard, sono costruite sulla cima di altri oggetti. Inoltre, molti sono estesi da moduli, che aggiungono nuove funzionalità.

Quindi, nella documentazione è necessario vedere quali cose un Oggetto è costruito. Nel caso di File, è costruito su IO, che avrà molte delle funzionalità che ci si aspetterebbe di trovare in una classe "file" standard.

Sono d'accordo sul fatto che parte della documentazione di Ruby è disgiunta. Penso che sia importante avere un buon libro; Raccomando quello che chiamiamo "The Pickaxe Book", AKA "Programming Ruby". Ci sono molti altri buoni libri, insieme ad una buona documentazione in linea, ma questo è un gran bel libro. La [prima edizione] è disponibile gratuitamente online; È un po 'obsoleto ma comunque utile.

Si consiglia di navigare su some of the other questions similar to this su SO per ulteriori suggerimenti.

Mantengo anche i collegamenti aperti ai documenti Core e di Ruby 1.9. E, infine, la parte superiore del numero Ruby-Docs site punta a molte buone informazioni anche se devi prestare attenzione a quale versione sono i documenti.

Infine, non ignorare l'aiuto incorporato: ri alla riga di comando è una fonte veloce di informazioni sulla propria macchina che dovrebbe contenere la documentazione per il core e la libreria standard, oltre a tutte le gemme che hanno installato . ri open ti avrebbe detto che tutti i luoghi "aperti" erano definiti. ri File.open ti avrebbe dato molte informazioni su quel comando.


Quando ho iniziato con Ruby, il principale ostacolo all'apprendimento della lingua era la documentazione.Trovo ancora molto più facile ottenere informazioni su Perl e Python, e sento che Ruby dovrebbe usare quelli come esempi. Tuttavia, ciò non cambia il mio piacere di usare Ruby. È un ottimo linguaggio e una volta superata la gobba iniziale mi piace sempre di più.

@phoffer consiglia RubyDoc.info nel commento sopra. Non avevo visto quel sito ma sembra buono. Mi piace che mostri ciò che una classe eredita chiaramente.

+0

Questa risposta potrebbe essere migliorata. In effetti, il file # aperto è stato escluso dalla documentazione di Ruby fino al 1.9. Se prende il tuo consiglio e guarda IO, pre-1.9 tutto quello che vedrà è una routine aperta che prende un descrittore di file. C'è un file aperto basato su nome file documentato in Kernel, ma questa è un'altra storia. – DigitalRoss

+0

Indicando l'I/O precedente alla 1.9, gli OP indicano che i documenti hanno bisogno di organizzazione e pulizia. –

+1

Ho appena riconosciuto che ho omesso le informazioni più importanti dalla domanda. Attualmente utilizzo "ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]" che è la versione aggiornata di Ruby 10.10 di Ubuntu. 'ri File.open' restituisce "Nulla di noto su File.open", e con un rapido confronto vedo che la documentazione mostrata da "ri" è la stessa documentazione disponibile online come 1.8.7 documentazione. – karatedog

0

Si è verificato un errore nella documentazione precedente 1.9 relativa a File#open.

C'è un open documentato sotto Kernel, e sì, si può infatti dire File.open come avrete notato, semplicemente non è documentato sia in File o in IO.

Il mio consiglio è di appena use 1.9 docs ...

0

La mia versione attuale è la 2.0.0 rubino e ri 4.0.1 (RI -v). Sono stato inciampa con lo stesso problema in cui ho tipo RI File.open => "Niente saputo File.open"

Dopo flagellazione internet ho trovato questo codice Source

gem rdoc --all --ri --no-rdoc 

La pagina è anche una buona lettura del perché dovresti usare ri invece di google.

Modifica: il codice ha corretto il rendimento "Nothing known about File.open". Ci vuole del tempo per l'installazione, quindi apri una nuova scheda.

Problemi correlati