Как получить текущий рабочий каталог абсолютного пути от irb

Я запускаю Ruby на Windows, хотя я не знаю, должно ли это иметь значение. Все, что я хочу сделать, это получить текущий полный каталог каталога. Возможно ли это из irb? По-видимому, из script можно использовать File.expand_path(__FILE__)

Но от irb я попробовал следующее и получил ошибку "Разрешить отказ":

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

Ответ 2

File.expand_path File.dirname(__FILE__) вернет каталог относительно файла, из которого вызывается эта команда.

Но Dir.pwd возвращает рабочий каталог (результаты, идентичные выполнению pwd в вашем терминале)

Ответ 3

Что касается пути относительно текущего выполнения script, так как Ruby 2.0 вы также можете использовать

__dir__

Итак, это в основном то же самое, что

File.dirname(__FILE__)

Ответ 4

Это даст вам рабочий каталог текущего файла.

File.dirname(__FILE__)

Пример:

current_file: "/Users/nemrow/SITM/folder1/folder2/amazon.rb"

result: "/Users/nemrow/SITM/folder1/folder2"

Ответ 5

С помощью этого вы можете получить абсолютный путь к любому файлу, расположенному в любом каталоге.

File.join(Dir.pwd,'some-dir','some-file-name')

Это вернет

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

Ответ 6

Если вы хотите получить полный путь к каталогу текущего файла rb:

File.expand_path('../', __FILE__)