92 votes

Comment exécuter un fichier .rb à partir d'IRB ?

Je débute avec Ruby on Rails. Je suis actuellement en train de suivre un tutoriel dans lequel il est dit que je dois exécuter un fichier .rb depuis IRB et que cela créera un fichier .xml dans mon répertoire actuel.

Ma question est la suivante : comment puis-je exécuter un fichier .rb dans IRB ?
Et dois-je me trouver dans le répertoire où se trouve ce fichier .rb lorsque je l'exécute dans IRB ?

J'ai essayé ce qui suit : en tapant simplement irb sur la ligne de commande dans le répertoire du fichier. Cela démarre une session IRB d'après ce que je comprends.
Puis j'ai tapé irb "filename.rb" qui est passé mais n'a rien créé dans le répertoire courant mais au moins il n'a pas donné d'erreurs.

J'ai aussi essayé tout un tas d'autres trucs qui ne m'ont donné que des erreurs. Je ne pense donc pas pouvoir résoudre ce problème moi-même et la recherche sur Google n'a été d'aucune aide.

Je suis sous Leopard.

181voto

J-_-L Points 4952

Vous pouvez "exécuter" un fichier dans irb en le demandant 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

3 votes

Pour le demander à irb, vous devez fournir le chemin d'accès complet, donc : require '~/myrubystuff/coolstuff.rb' au lieu de simplement require 'coolstuff'

0 votes

J'ai pu exiger fileutils par le nom seul, sans chemin d'accès au répertoire. Je suis sûr que cela dépend de l'environnement et que tout le monde n'aura pas besoin d'utiliser le chemin qualifié.

6voto

Gabriel Lidenor Points 1667

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

irb -r ./the_name_of_your_file.rb

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

Imaginez que vous avez un dossier 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 Exemple dans la section irb session.

3voto

Sreenivas Points 29

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 dans ce fichier, puis utiliser la commande ruby filename.rb dans le terminal, pas dans l'irb, alors il montre la sortie dans l'irb.

4 votes

Mais en chargeant le fichier, vous pouvez accéder aux variables qui y sont définies. Pratique pour dépanner ou jouer avec une bibliothèque.

0 votes

@Sreenivas C'est exactement ce que je cherchais. Merci !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X