J'utilise Ruby sous Windows bien que je ne sache pas si cela devrait faire une différence. Tout ce que je veux, c'est obtenir le chemin absolu du répertoire de travail actuel. Est-ce possible d'irb? Apparemment, à partir d'un script, il est possible d'utiliser File.expand_path(__FILE__)
Mais d’irb, j’ai essayé ce qui suit et j’ai eu l’erreur "Autorisation refusée":
File.new(Dir.new(".").path).expand
Dir.pwd
semble faire l'affaire.
File.expand_path File.dirname(__FILE__)
retournera le répertoire relatif au fichier à partir duquel cette commande est appelée.
Mais Dir.pwd
renvoie le répertoire de travail (résultats identiques à l'exécution de pwd
dans votre terminal)
Quant au chemin relatif au script en cours d’exécution, puisque Ruby 2. vous pouvez aussi utiliser
__dir__
Donc, c'est fondamentalement la même chose que
File.dirname(__FILE__)
Cela vous donnera le répertoire de travail du fichier actuel.
File.dirname(__FILE__)
Exemple:
current_file: "/Users/nemrow/SITM/folder1/folder2/Amazon.rb"
résultat: "/ Users/nemrow/SITM/folder1/folder2"
Si vous voulez obtenir le chemin complet du répertoire du fichier rb actuel:
File.expand_path('../', __FILE__)
Grâce à cela, vous pouvez obtenir le chemin absolu de tout fichier situé dans n'importe quel répertoire.
File.join(Dir.pwd,'some-dir','some-file-name')
Cela va retourner
=> "/User/abc/xyz/some-dir/some-file-name"