Dir Globbing не повторяется полностью - PullRequest
2 голосов
/ 11 октября 2011
files = Dir[File.join(path, '**', '*.jpg')].each do |s| 
    puts s       
end

У меня есть несколько подпапок в каталоге, и этот фрагмент, кажется, входит в некоторые из подкаталогов, но пропускает большинство из них.Как я могу сделать так, чтобы это повторялось во всех каталогах?

Кроме того, я должен вместо этого использовать Find?Если да, может ли кто-нибудь предоставить пример, который делает то же самое, что и выше, а именно: поиск .jpgs во всех подкаталогах?

РЕДАКТИРОВАТЬ -

Хорошо, поэтому, очевидно, когда я делаю это с .JPG (заглавными буквами), он находит все файлы.Странно ... Как я могу сказать, чтобы найти любой из них?

Ответы [ 2 ]

4 голосов
/ 11 октября 2011

Это может помочь с различными расширениями:

files = Dir[File.join(path, '**', '*.{jpg,JPG}')].each do |s| 
    puts s       
end
0 голосов
/ 11 октября 2011

Очевидно, вы забыли использовать метод glob в Dir, например:

 Dir.glob(File.join('**','*.jpg'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...