【发布时间】:2013-12-27 00:41:12
【问题描述】:
我正在开发一个从 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”。
我想获取不带扩展名的文件名,以便可以不同方式处理这两个文件。
我正在使用一个数组,但是一个匹配的数组对我来说听起来很疯狂。
还有其他想法吗?
【问题讨论】:
-
不要像你一样使用
$globals。它们是一个非常强烈的暗示,您不了解变量作用域并且依赖全局变量来“作弊”。它们带有代码气味,会导致痛苦和痛苦。 -
rip.to_s和rip.split什么也不做。