#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