Inspiré par " Obtenir le répertoire source d'un script Bash de l'intérieur ", quelle est la façon Ruby de faire cela?
File.dirname(__FILE__)
vous donnera le chemin relatif au script en cours d'exécution. File.expand_path(File.dirname(__FILE__))
vous donnera le chemin absolu.
__dir__
Au Ruby 2.0, __dir__
est le moyen le plus simple d'obtenir cela. Il
Renvoie le chemin absolu canonisé du répertoire du fichier à partir duquel cette méthode est appelée.
Voir le __dir__
documentation, et " Pourquoi __FILE__ est-il en majuscule et __dir__ en minuscule? ".
utilisez __dir__
File.dirname(__FILE__)
n'est pas un bon moyen d'obtenir le répertoire où le script est stocké.
Au début, le répertoire de travail et le répertoire avec le fichier de script sont les mêmes, mais ils peuvent changer.
Par exemple:
Dir.chdir('..') do
puts __dir__
puts File.expand_path(File.dirname(__FILE__))
end
pour le fichier de script stocké dans /Desktop/tmp
en cours d'exécution, il donnera une sortie
/home/mateusz/Desktop/tmp
/home/mateusz/Desktop