压缩两个Dir.glob到if - else

时间:2015-05-27 19:45:02

标签: ruby

实际上我正试图将Dir.glob压缩为if-then。

Dir.glob('*.ogg') do |ogg_file|
testfile = ogg_file
filename = File.basename(testfile,File.extname(testfile))
end
# Submethod for searching for *.m4a files
Dir.glob('*.m4a') do |m4a_file|
testfile = m4a_file
filename = File.basename(testfile,File.extname(testfile))
end

任何人都可以帮我这样做,所以它只返回一个变量“filename”吗?

1 个答案:

答案 0 :(得分:1)

是的,我可以:

Dir.glob('*.{ogg,m4a}') do |file|
  filename = File.basename(file, File.extname(file))
end

Dir::glob说:

  

{p,q} - 匹配文字p或文字q。相当于regexp中的模式交替。匹配的文字长度可能不止一个字符。可以指定两个以上的文字。