J'ai un dossier rempli de fichiers rubis, et lorsque j'essaie d'essayer d'avoir besoin d'un fichier dans un autre dans le même répertoire utilisant (Photo du répertoire):
p> nécessite "fichier" code> i obtenez un
charrorror code > Mais quand j'utilise
besoin './file' code> tout fonctionne bien. Quelqu'un peut-il m'expliquer pourquoi cela se produit et s'il y a une façon de demander un fichier sans ajouter de
./ code> sur le fichier? P>
3 Réponses :
Vous n'avez pas de répertoire actuel dans votre chargement. p>
Vérifiez le contenu de la variable $ LOAD_PATH P>
Si vous voulez besoin code> un fichier non du système
$ load_path code> mais plutôt par rapport au répertoire du fichier, vous êtes
exiger code> ing de em>, vous devez utiliser
Exiger_Relative < / code>
. (Ce que vous pouvez voir, n'est pas exactement largement em> documenté.) P>
Bien que ce soit très ancien, je pense que certaines informations supplémentaires seront très utiles pour débutant. p>
Le meilleur moyen de penser requis est par rapport à la variable UNIX $ chemin. Juste à titre de recyclage, la variable $ PATH dans UNIX est une liste de répertoires où les exécutables peuvent être trouvées. Ainsi, lorsque vous tapez le nom d'un programme sur n'importe quel terminal UNIX, votre ordinateur examine les fichiers exécutables des répertoires spécifiés dans votre variable $ chemin. nécessite quelque chose de très similaire. Lorsque, par exemple, vous écrivez besoin de «set» en haut de votre fichier rubis, vous indiquez à RUBY de rechercher un tas de répertoires pour une bibliothèque appelée Set.Rb (Ruby's Set Library). P>
Alors, où est-ce que Ruby recherche set.rb? Eh bien, une fois encore, Ruby a quelque chose de très similaire à la variable de path $ de Unix. C'est la variable globale $ LOAD_PATH, aussi parfois connue par son alias moche et indésirable $: (ce que je ne suggère pas d'utiliser par le chemin - abrégé, bien que cela puisse être). C'est une gamme de noms de répertoires dans lesquels Ruby regarde quand il ressort d'un besoin. P>
Il y a une belle post informative ici A > Où vous pouvez obtenir plus d'informations sur besoin code>,
charger code> et
nécessitent_relative code> p> p>
duplicaté possible de Quelle est la différence entre exigence_relative et exiger en rubis?