comment obtenir le chemin absolu du répertoire de travail actuel à partir d'irb
Je cours Ruby sur Windows bien que 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 actuel. Est-ce possible de l'irb? Apparemment, à partir d'un script, il est possible d'utiliser File.expand_path(__FILE__)
Mais de irb j'ai essayé ce qui suit et j'ai obtenu une erreur "Permission refusée":
File.new(Dir.new(".").path).expand
6 réponses
File.expand_path File.dirname(__FILE__)
retourne le répertoire relatif au fichier à partir duquel cette commande est appelée.
, Mais Dir.pwd
retourne le répertoire de travail (résultats identiques à l'exécution de pwd
dans votre terminal)
En ce qui concerne le chemin relatif au script en cours d'exécution, puisque Ruby 2.0 Vous pouvez également utiliser
__dir__
Donc c'est fondamentalement 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/dossier1/dossier2/amazon.rb "
Résultat: "/Users/nemrow/SITM/dossier1/dossier2"
Si vous voulez obtenir le chemin complet du répertoire du fichier RB courant:
File.expand_path('../', __FILE__)
Grâce à cela, vous pouvez obtenir le chemin absolu d'un fichier situé dans le répertoire.
File.join(Dir.pwd,'some-dir','some-file-name')
Cela retournera
=> "/User/abc/xyz/some-dir/some-file-name"