У меня есть файл, который выглядит следующим образом:
TTITLE0=track name 1
TTITLE1=track name 2
и каталог, содержащий track01.cdda.wav.mp3
и track02.cdda.wav.mp3
У меня есть следующий код, который создает 2 различных массива, 1 с названиями треков и 1 с названиями треков:
tracks = Dir.glob("*.mp3")
tracknames = Array.new
File.open('read').each do |line|
if line =~ /TTITLE/
tracknames << line.split("=")[1].strip!
end
end
это дает мне 2 массива:
["track name 1", "track name 2"]
и
["track01.cdda.wav.mp3", "track02.cdda.wav.mp3"]
я бы хотелпереименовать файлы во втором массиве с элементами первого массива.Итак, "track01.cdda.wav.mp3"
станет "track name 1.mp3"
.
вот что я пробовал до сих пор:
tracks.map {|track| File.rename("#{tracks}", "#{tracknames}.mp3") }
и я получаю ошибку:
No such file or directory - track01.cdda.wav.mp3track02.cdda.wav.mp3 or track name 1track name 2 (Errno::ENOENT)
Я должен иметь в виду, что в будущемможет быть любое количество элементов в каждом массиве, но числа будут равны друг другу.
есть идеи?