YouTube'dan bir video indirmek, MP3'e dönüştürmek ve dosyalar için bir dizin yapısı oluşturmak için bir program üzerinde çalışıyorum.
Benim kodum:
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
İlki, önceden oluşturulmuş müzik klasörüne gider. Ben onun içinde icra ediyorum get
. Bundan sonra dizinde iki dosyam var: "xyz.mp4" ve "xyz.m4a".
Dosya adını uzantı olmadan getirmek istiyorum, böylece her iki dosyayı farklı şekilde ele alabilirim.
Bir dizi kullanıyorum, ancak tek bir eşleşme için bir dizi benim için çılgınca geliyor.
Başka bir fikri olan var mı?
Ayrıca
—
The Tin Man
rip.to_s
ve rip.split
hiçbir şey yapmayın.
$globals
gibi kullanma . Değişken kapsam belirlemeyi anlamadığınız ve "hile yapmak" için globallere güvenmeniz çok güçlü bir ipucudur. Kod kokusu yaparlar ve sefalet ve acıya yol açar.