Как я могу убедиться, что модуль поиска Ruby всегда будет возвращать абсолютные пути?

#ruby #find

#ruby #Найти

Вопрос:

Если я запущу Find модуль с относительным каталогом в качестве параметра, возвращаемые им файлы будут относительными. Могу ли я что-нибудь сделать, чтобы убедиться, что у меня всегда есть абсолютные пути?

 require "find"

Find.find(dir) do |file|
  # do I need to make it absolute myself? will File#extend_path be enough?
end
  

Ответ №1:

 require 'find'
Find.find(File.expand_path(dir))
  

похоже, тоже работает.

Комментарии:

1. На самом деле это лучше, чем мое решение, поскольку оно вызывает expand_path только один раз, в отличие от одного раза для каждого файла.

Ответ №2:

Да, expand_path сделает это.

 require 'find'
Find.find(dir) {|file| puts File.expand_path(file)}