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
238
demandé sur George Jempty 2009-12-21 04:23:17

6 réponses

Dir.pwd semble faire l'affaire.

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

438
répondu user85509 2013-05-18 06:34:02

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)

166
répondu Psylone 2011-11-02 17:46:28

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__)
49
répondu udo 2017-06-25 17:45:33

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"

4
répondu Jordan Rumpelstiltskin Nemrow 2014-07-14 17:11:18

Si vous voulez obtenir le chemin complet du répertoire du fichier RB courant:

File.expand_path('../', __FILE__)
3
répondu Châu Hồng Lĩnh 2016-10-06 03:26:58

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"
1
répondu yeshwant singh 2017-03-06 11:38:48