Как изменить dirname / путь к файлу?

#ruby-on-rails #ruby

#ruby-on-rails #ruby

Вопрос:

Итак, у меня есть массив с именем ArrayHT xml docs. Я хочу выполнить поиск в этом массиве для конкретного xml-документа по полному пути, но перед поиском необходимо изменить одну часть пути.

Моя настройка:

 ArrayID.each do |file| #loops through all elements of ArrayID
  id_filepath = File.path(file) #creates id_filepath variable that contains the full filepath of the file/element currently in the loop
  # => "/some/path/ht/name/doc.xml"
end
  

Проблема: на этом этапе я хочу взять id_filepath переменную и изменить ht на id , а затем выполнить следующее, чтобы определить, id_filepath существует ли измененная в ArrayHT массиве:

 ht_filepath = ArrayHT.find { |e| e.match(id_filepath) } #searches another array, ArrayHT for the file
  

Как лучше всего решить проблему?

Ответ №1:

Я думаю, что я понял ответ:

ht_filepath = id_filepath.sub /ht/, 'id'

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

1. Более безопасный способ: ht_filepath = id_filepath.sub '/ht/', '/id/'

2. Спасибо @SergioTulentsev