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」の2つのファイルがあります。
拡張子なしでファイル名をフェッチして、両方のファイルを異なる方法で処理できるようにしたいと思います。
私は配列を使用していますが、1つのマッチだけの配列は私には奇妙に聞こえます。
誰か他のアイデアはありますか?
また
—
ティンマン
rip.to_s
、rip.split
何もしません。
$globals
ように使用しないでください。これらは、変数のスコープを理解していない非常に強力なヒントであり、グローバルに依存して「不正行為」を行っています。それらはコード臭であり、悲惨さと痛みにつながります。