web-dev-qa-db-fra.com

Comment exécuter un fichier .rb depuis IRB?

Je commence avec Ruby sur Rails. Je suis actuellement en train de suivre un tutoriel où il est dit que je dois exécuter un fichier .rb à partir de IRB et que cela créera un fichier .xml dans mon dossier. répertoire actuel.

Ma question est la suivante: comment exécuter un fichier .rb dans IRB?
Et dois-je être dans le répertoire où ce fichier .rb réside lorsque je l'exécute dans IRB?

J'ai essayé ce qui suit: il suffit de taper irb sur la ligne de commande dans le répertoire du fichier. Cela commence une session de la CISR pour autant que je sache.
Puis j'ai tapé irb "filename.rb" qui a traversé, mais n'a rien créé dans le répertoire en cours, mais au moins, il n'a généré aucune erreur.

J'ai également essayé de nombreuses autres choses qui me donnaient des erreurs. Donc, je ne pense pas que je puisse résoudre ce problème moi-même et googler la question n'a pas aidé du tout.

Je cours de Léopard.

82
Katrina

Vous pouvez "exécuter" un fichier dans irb simplement en l'exigeant ou en le chargeant.

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

Pour changer votre répertoire de travail actuel dans irb, vous pouvez utiliser FileUtils:

>> require 'fileutils'
>> FileUtils.pwd # prints working directory
>> FileUtils.cd '/path/to/somewhere' # changes the directory
170
J-_-L

Si vous souhaitez que votre fichier soit chargé dans la session irb et que vous utilisez Ruby 2+, vous pouvez charger un fichier dans irb comme ça:

irb -r ./the_name_of_your_file.rb

Cela ouvre une session irb avec le fichier donné chargé.

Imaginez que vous avez un fichier avec une classe comme celle-ci:

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

  def print__example
    p name
  end
end

Vous pourrez utiliser la classe Example dans la session irb.

2
Gabriel Lidenor

Nous pouvons simplement créer un fichier .rb dans le répertoire dans lequel vous travaillez actuellement en utilisant n'importe quel éditeur de texte et taper tout le code qu'il contient, puis utiliser la commande Ruby filename.rb dans le terminal, pas dans irb, la sortie est affichée en irb.

1
Sreenivas