Question

Je suis en cours d'exécution Ruby sous Windows si je ne sais pas si cela devrait faire une différence. Tout ce que je veux faire est d'obtenir le chemin absolu du répertoire de travail en cours. Est-ce possible de RIR? Apparemment, à partir d'un script, il est possible à l'aide File.expand_path(__FILE__)

Mais j'ai essayé de RIR ce qui suit et obtenu une « Autorisation refusée » Erreur:

File.new(Dir.new(".").path).expand
Était-ce utile?

La solution

Autres conseils

File.expand_path File.dirname(__FILE__) retourne le répertoire relatif au fichier cette commande est appelée.

Mais Dir.pwd retourne le répertoire de travail (résultats identiques à exécuter pwd dans votre terminal)

En ce qui concerne le chemin relatif au script exécution en cours, depuis Ruby 2.0 vous pouvez également utiliser

__dir__

Donc, c'est essentiellement le même que

File.dirname(__FILE__)

Cela vous donnera le répertoire de travail du fichier en cours.

File.dirname(__FILE__)

Exemple:

CURRENT_FILE: "/Users/nemrow/SITM/folder1/folder2/amazon.rb"

résultat: "/ Users / nemrow / SITM / dossier1 / dossier2"

Si vous voulez obtenir le chemin complet du répertoire du fichier rb en cours:

File.expand_path('../', __FILE__)

Grâce à cela, vous pouvez obtenir le chemin absolu d'un fichier situé dans un répertoire.

File.join(Dir.pwd,'some-dir','some-file-name')

Ceci renverra

=> "/User/abc/xyz/some-dir/some-file-name"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top