Sto usando IRB (console ruby interattiva) per imparare a programmare con Ruby. Come faccio a caricare un file nella console se scrivo prima i miei programmi in un editor di testo?
Sto usando IRB (console ruby interattiva) per imparare a programmare con Ruby. Come faccio a caricare un file nella console se scrivo prima i miei programmi in un editor di testo?
Risposte:
Se è necessario caricare solo un file in IRB, è possibile richiamarlo con irb -r ./your_file.rbse si trova nella stessa directory.
Ciò richiede automaticamente il file e ti consente di lavorarci immediatamente.
rake irbe fa tutto per me.
irb -r /foo/foo.rb
Utilizzando ruby 1.9.3 su Ubuntu 14.04, sono in grado di caricare i file dalla directory corrente irbcon la seguente riga di comando:
irb -I . -r foo.rb
dov'è foo.rbil file che voglio caricare dalla mia directory corrente. L' -Iopzione è necessaria per aggiungere la directory corrente ( .) al percorso di caricamento di ruby, come spiegato nella pagina man di ruby. Ciò rende possibile i requirefile dalla directory corrente, che è ciò che l' -ropzione per irbrealizzare.
Il punto chiave che non era ovvio per me quando ho avuto questo problema è l' -Iopzione. Dopo averlo fatto, puoi chiamare require 'foo.rb'dall'interno irbper qualsiasi file nella directory corrente. E, naturalmente, puoi specificare qualsiasi directory desideri, non solo .con l' -Iopzione. Per includere più directory nel percorso di caricamento, separale con due punti (:), ad esempio:
irb -I foo/:bar/:baz/
Questo comando aggiungerà le directory foo, bare bazal percorso di carico di Ruby.
L'ultima alternativa è utilizzare il percorso relativo o assoluto del file quando si utilizza requireo -rper caricare un file:
irb -r ./foo.rb
o dall'interno irb:
> require './foo.rb'
Digitare irb
E poi
require './ruby_file.rb'
Questo presuppone che ruby_file.rb sia nella stessa directory. Regola di conseguenza.
require_relative. Ad esempio, require "./lib/foo"fa lo stesso direquire_relative "lib/foo"
.rbè facoltativo, puoi scrivere require './ruby_file'. I checked in ruby 1.9.3p551`
Due strade:
source("filename.rb")
require("filename.rb")
requireche non sembra ricaricare lo script (eventuali modifiche alla fonte originale non si riflettono nella tua sessione), mentre sourcesembra riflettere le modifiche allo script originale.
Dipende dal tuo rubino. Ruby 1.8 include il percorso corrente, mentre Ruby 1.9 no. Valuta $:per determinare se il tuo percorso è incluso o meno. Quindi in ruby 1.9 devi usare l'intero percorso, che è sempre una scommessa sicura.
Quindi puoi usare requireo loadper includere il file.
requirenon richiede di aggiungere il suffisso del file quando si cerca di trovarlo e includerà il file solo una volta. requiredovrebbe essere utilizzato al posto della loadmaggior parte delle volte.
Controlla Aggiunta di una directory a $ LOAD_PATH (Ruby) se utilizzerai ruby 1.8
Digita i codici Ruby nell'editor di testo
Salvalo con l'estensione .rb (ad esempio: demo.rb ).
In Linux, apri il tuo terminale quindi cambia la directory nella posizione corrente di quel file (il comando cd viene utilizzato per cambiare directory).
Dopodiché, digita irb e il nome del tuo file (non dimenticare di includere la tua estensione (.rb)).
In quell'immagine, ho caricato un semplice file ruby che stampa solo "ruby".
Un altro modo per caricare il percorso in irb è semplicemente digitare require, quindi trascinare e rilasciare il file nel terminale.🙂 -testato utilizzando Linux Mint.