Saya sedang mengerjakan sebuah program untuk mendownload video dari YouTube, mengubahnya menjadi MP3 dan membuat struktur direktori untuk file tersebut.
Kode saya adalah:
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
Yang pertama masuk ke folder musik yang sudah dibuat. Di dalam yang saya jalankan get
. Setelah itu saya memiliki dua file di direktori: "xyz.mp4" dan "xyz.m4a".
Saya ingin mengambil nama file tanpa ekstensi sehingga saya dapat menangani kedua file secara berbeda.
Saya menggunakan array, tetapi array hanya untuk satu pertandingan terdengar gila bagi saya.
Adakah yang punya ide lain?
Juga
—
Manusia Timah
rip.to_s
dan rip.split
tidak melakukan apa-apa.
Kemungkinan duplikat dari Cara mendapatkan nama file tanpa ekstensi dari jalur file di Ruby
—
ymoreau
$globals
seperti Anda. Mereka adalah petunjuk yang sangat kuat bahwa Anda tidak memahami pelingkupan variabel dan mengandalkan global untuk "curang". Mereka berbau kode dan menyebabkan kesengsaraan dan rasa sakit.