ฉันกำลังทำงานกับโปรแกรมเพื่อดาวน์โหลดวิดีโอจาก 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
ไม่ต้องทำอะไรเลย
อาจซ้ำกันได้ของHow to get filename without extension from file path in Ruby
—
ymoreau
$globals
เหมือนที่คุณเป็น เป็นคำใบ้ที่ชัดเจนมากที่คุณไม่เข้าใจการกำหนดขอบเขตตัวแปรและอาศัย globals เพื่อ "โกง" เป็นกลิ่นรหัสและนำไปสู่ความทุกข์ยากและความเจ็บปวด