Ruby nécessite un chemin
J'ai un code en Ruby avec des classes différentes dans un certain nombre de fichiers. Dans un fichier, j'ai commencer l'exécution. Ce fichier require
s mes autres fichiers.
- Est-ce une bonne façon de commencer un code ruby?
- Lorsque j'exécute le code à partir d'un lien symbolique, par exemple
DIR2/MyRubyCode
est un lien vers le fichier principalDIR1/MyRubyCode.rb
puis mon nécessite échouera. J'ai résolu le problème en ajoutant le cheminDIR1
à$LOAD_PATH
avant larequire
mais je pense qu'il y aurait beaucoup de meilleures façons de le faire. Avez-vous des suggestions à ce sujet?
source d'informationauteur Cedric H. | 2010-08-29
Vous devez vous connecter pour publier un commentaire.
Si vous voulez vérifier si un fichier Ruby est "
require
'ed ou exécutée avec"ruby MyRubyCode.rb
', cochez la__FILE__
constante.Autant que le besoin/$LOAD_PATH problème, vous pouvez toujours utiliser le chemin relatif dans le besoin de l'instruction. Par exemple:
Qui comprennent notamment le
foo_class.rb
etbar_module.rb
fichiers dans le même répertoire queMyRubyCode.rb
.Si vous êtes à l'aide de Ruby 1.9 ou plus, l'utilisateur require_relative pour vos dépendances.
Je sais que c'est une vieille question, mais il y a une mise à jour de la réponse, et je voulais le poster:
De départ dans une version plus récente de Ruby (je ne sais pas quand), vous pouvez exiger des fichiers dans le même répertoire en utilisant les éléments suivants:
et il va charger les fichiers appelés
foo_class.rb
etbar_module.rb
dans le même répertoire.Pour vérifier si votre fichier est en cours de
require
d ou de a couru normalement, vérifiez l'autre réponse.