Почему абсолютный путь зависит от того, где мы вызываем скрипт? - PullRequest
0 голосов
/ 09 октября 2018

У меня есть следующая структура в моем компьютере:

.
├── README.md
├── Rakefile
├── lib
│   ├── box_office.rb
│   └── movies.csv
└── spec
    └── box_office_spec.rb

Когда я запускаю box.office.rb, я хочу загрузить файл movies.csv.Если я жестко запрограммировал путь, он работает:

current_directory = Dir.pwd
file_path = "#{current_directory}/lib/movies.csv"
puts file_path

Как я могу сделать это без жесткого кодирования пути (этот каталог lib/)?Мне нужен текущий каталог файла, где я делаю ruby: XXXX.rb.

Я пробовал:

current_directory = File.expand_path(File.dirname(__dir__))
puts current_directory

current_directory = Dir.pwd

path = Pathname.new(__FILE__)
p path.realpath
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...