comment obtenir le chemin absolu du répertoire de travail actuel depuis irb

Je cours Ruby sur Windows, mais je ne sais pas si cela devrait faire la différence. Tout ce que je veux faire, c’est obtenir le chemin absolu du répertoire de travail en cours. Est-ce possible d’irb? Apparemment, à partir d’un script, il est possible d’utiliser File.expand_path(__FILE__)

Mais de l’irb j’ai essayé ce qui suit et j’ai eu une erreur “Permission denied”:

 File.new(Dir.new(".").path).expand 

Dir.pwd semble faire l’affaire.

http://ruby-doc.org/core/Dir.html#method-c-pwd

File.expand_path File.dirname(__FILE__) renverra le répertoire relatif au fichier à File.expand_path File.dirname(__FILE__) 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 d’exécution en cours, depuis Ruby 2.0, vous pouvez également utiliser

 __dir__ 

Donc, c’est fondamentalement la même chose que

 File.dirname(__FILE__) 

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

 File.dirname(__FILE__) 

Exemple:

fichier_actuel: “/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 reviendra

 => "/User/abc/xyz/some-dir/some-file-name"