Ruby: Comment charger un fichier dans une console ruby ​​interactive (IRB)?

J’utilise IRB (console interactive Ruby) pour apprendre à programmer avec Ruby. Comment charger un fichier dans la console si j’écris d’abord mes programmes dans un éditeur de texte?

Si vous avez seulement besoin de charger un fichier dans IRB, vous pouvez l’appeler avec irb -r ./your_file.rb s’il se trouve dans le même répertoire.

Cela nécessite automatiquement le fichier et vous permet de travailler immédiatement.

En utilisant Ruby 1.9.3 sur Ubuntu 14.04, je suis capable de charger des fichiers du répertoire en cours dans irb avec la ligne de commande suivante:

 irb -I . -r foo.rb 

foo.rb est le fichier que je veux charger depuis mon répertoire actuel. L’option -I est nécessaire pour append le répertoire actuel ( . ) Au chemin de chargement de ruby, comme expliqué dans la page man ruby. Cela permet d’ require fichiers du répertoire en cours, ce que fait l’option -r pour irb .

L’élément clé qui n’était pas évident pour moi lorsque j’ai eu ce problème est l’option -I . Une fois que vous faites cela, vous pouvez appeler require 'foo.rb' depuis irb pour tous les fichiers du répertoire en cours. Et bien sûr, vous pouvez spécifier n’importe quel répertoire, pas seulement . avec l’option -I . Pour inclure plusieurs répertoires sur le chemin de chargement, séparez-les par deux points (:), par exemple:

 irb -I foo/:bar/:baz/ 

Cette commande appenda les répertoires foo , bar et baz au chemin de chargement de ruby.

La dernière alternative consiste à utiliser le chemin relatif ou absolu du fichier lors de l’utilisation de require ou -r pour charger un fichier:

 irb -r ./foo.rb 

ou de l’intérieur de l’ irb :

 > require './foo.rb' 

Tapez irb

Et alors

 require './ruby_file.rb' 

Cela suppose que ruby_file.rb se trouve dans le même répertoire. Ajuste en accord.

Deux façons:

  1. charger la source sans exécuter le programme – cela donne access à toutes les variables et fonctions:

source("filename.rb")

  1. pour exécuter le programme puis passer en mode interactif – cela donne uniquement access aux fonctions, pas aux variables:

require("filename.rb")

Cela dépend de ton rbuy. Ruby 1.8 inclut votre chemin actuel, contrairement à Ruby 1.9. Évaluez $: pour déterminer si votre chemin est inclus ou non. Donc, dans Ruby 1.9, vous devez utiliser la totalité du chemin, ce qui est toujours une valeur sûre.

Ensuite, vous pouvez utiliser require ou load pour inclure le fichier.

require ne vous oblige pas à append le suffixe du fichier lorsque vous essayez de le trouver et n’incluera le fichier qu’une seule fois. require devrait être utilisé au lieu de load plupart du temps.

Check out Ajouter un répertoire à $ LOAD_PATH (Ruby) si vous allez utiliser ruby ​​1.8

Tapez les codes ruby ​​dans l’éditeur de texte

Enregistrez-le avec l’extension .rb (par exemple: demo.rb ).

Dans Linux, ouvrez votre terminal puis changez de répertoire à l’emplacement actuel de ce fichier (la commande cd est utilisée pour changer de répertoire).

Après cela, tapez irb et votre nom de fichier (n’oubliez pas d’inclure votre extension (.rb)).

cliquez ici pour voir le chargement d'un fichier ruby ​​en utilisant irb

Dans cette image, j’ai chargé un simple fichier de rbuy qui imprime uniquement “ruby”.

Une autre façon de charger le chemin dans irb est de taper require, puis de glisser-déposer le fichier dans le terminal.🙂 -test testé avec Linux Mint.