Я работаю над программой для загрузки видео с YouTube, преобразования его в MP3 и создания структуры каталогов для файлов.
Мой код:
FileUtils.cd("#{$musicdir}/#{$folder}") do
YoutubeDlhelperLibs::Downloader.get($url)
if File.exists?('*.mp4')
puts 'Remove unneeded tempfile'
Dir['*.mp4'].each do |waste|
File.delete(waste)
end
else
puts 'Temporary file already deleted'
end
Dir['*.m4a'].each do |rip|
rip.to_s
rip.split
puts 'Inside the function'
puts rip
end
end
Первый попадает в уже созданную музыкальную папку. Внутри этого я выполняю get
. После этого у меня в каталоге есть два файла: «xyz.mp4» и «xyz.m4a».
Я хотел бы получить имя файла без расширения, чтобы обрабатывать оба файла по-разному.
Я использую массив, но массив всего на одно совпадение для меня звучит безумно.
Есть у кого-нибудь еще идея?
Также
—
Железный Человек
rip.to_s
и rip.split
ничего не делать.
Возможный дубликат Как получить имя файла без расширения из пути к файлу в Ruby
—
ymoreau
$globals
как вы. Это очень сильный намек на то, что вы не понимаете область видимости переменных и полагаетесь на глобальные переменные, чтобы «обмануть». Они являются запахом кода и ведут к несчастью и боли.