Come eseguire un file .rb da IRB?


89

Sto iniziando con Ruby on Rails. Attualmente sto seguendo un tutorial in cui dice che devo eseguire un file .rb da IRB e che questo creerà un file .xml nella mia directory corrente.

La mia domanda è come faccio a eseguire un file .rb in IRB?
E devo essere nella directory in cui risiede questo file .rb quando lo eseguo in IRB?

Ho provato quanto segue: semplicemente digitando irbsulla riga di comando nella directory del file. Questo avvia una sessione IRB per quanto ho capito.
Quindi ho digitato irb "filename.rb"che è andato attraverso ma non ha creato nulla nella directory corrente ma almeno non ha dato errori.

Ho anche provato un sacco di altre cose che mi hanno dato errori. Quindi non penso di poter risolvere questo problema da solo e cercare su Google la questione non ha aiutato affatto.

Sto eseguendo Leopard.

Risposte:


176

È possibile "eseguire" un file in irb semplicemente richiedendolo o caricandolo.

$ irb
>> load './filename.rb'

Per cambiare la tua attuale directory di lavoro all'interno di irb, puoi usare FileUtils :

>> require 'fileutils'
>> FileUtils.pwd # prints working directory
>> FileUtils.cd '/path/to/somewhere' # changes the directory

3
per richiederlo a irb è necessario fornire il percorso completo, quindi: require '~/myrubystuff/coolstuff.rb' anziché solo require 'coolstuff'
runlevel0

Sono stato in grado di richiedere fileutilssolo il nome, nessun percorso di directory necessario. Sono sicuro che dipende dall'ambiente e non tutti dovranno utilizzare il percorso qualificato.
volx757

6

Nel caso in cui desideri caricare il tuo file nella sessione irb e stai usando Ruby 2+, puoi caricare un file in irb in questo modo:

irb -r ./the_name_of_your_file.rb

Questo apre una sessione irb con il file specificato caricato.

Immagina di avere un file con una classe come questa:

class Example
  def initialize(name)
    @name = name
  end

  def print__example
    p name
  end
end

Sarai in grado di utilizzare la classe Example nella sessione irb .


questo era quello che stavo cercando, grazie mille!
thomas

Questo dà accesso solo alle funzioni, non alle variabili definite nel file.
Radon Rosborough

2

Possiamo semplicemente creare un file .rb nella directory in cui stai attualmente lavorando usando qualsiasi editor di testo e digitare tutto il codice in esso e quindi utilizzare il comando ruby filename.rbnel terminale, non nell'irb, quindi mostra l'output in irb.


4
Ma caricando il file è possibile accedere alle variabili ivi definite. Utile per la risoluzione dei problemi o per giocare con una libreria.
Sonia Hamilton

@Sreenivas Questo era proprio quello che stavo cercando. Grazie!
Joshua Pinter
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.