Как мне пролистать список папок и взять файл изображения в рубине

Мне нужен рубиновый код, в котором я могу просмотреть список папок, а затем просмотреть каждое изображение отдельно в этой папке.

Как мне пролистать список папок и взять файл изображения в рубине

захватив файл изображений и его имя,

Я знаю, что Dir.foreach отлично подходит для получения имен папок, но как мне получить изображения

Dir.glob предоставит каталоги и файлы.
Kris 14.03.2018 15:55

Я попробовал, что не повезло, если я не использую его неправильно?

BobTheCat 14.03.2018 15:56

Приведите пример кода, который вы использовали.

Kris 14.03.2018 15:57

ok: Dir.foreach ("lfw /") do | item | Dir.glob ("lfw /") do | filename | Dir.glob ("lfw / # {filename} /") do | file |

BobTheCat 14.03.2018 15:59

это может быть плохой пример

BobTheCat 14.03.2018 15:59

Я не найду лучшего Я писал много этих файлов

BobTheCat 14.03.2018 16:00

Что-то вроде этого? stackoverflow.com/questions/13629634/…

lhdv 14.03.2018 16:26

Отредактируйте свой ответ, чтобы добавить код, который вы пробовали.

Kris 14.03.2018 17:42

проголосовали за получение золотой медали до того, как сломали 20 репутации

omikes 14.03.2018 22:34
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
1
9
130
2

Ответы 2

Если я правильно вас понял, вам нужен список каждого файла, если это изображение?

Если все ваши изображения имеют один и тот же формат, IE .jpg, вы можете использовать:

folder_results = Dir.foreach("your_folder_name") {|x| File.extname(x) }

for file in folder_results
    if (file === '.jpg')
    # do something
    end
end

Я ввожу имя папки и получаю эту ошибку: `open ': нет такого файла или каталога @ dir_initialize - lfw / (Errno :: ENOENT)

BobTheCat 14.03.2018 16:17

если я установил его вне основной папки (на изображении, которое я показал, я получаю эту ошибку: block in <main>': undefined method each 'для nil: NilClass (NoMethodError)

BobTheCat 14.03.2018 16:25

речь идет о цикле foreach

BobTheCat 14.03.2018 16:26

Если вы запустите следующий код из базового каталога вашей файловой структуры, он отобразит все файлы, оканчивающиеся на «.jpg» или «.png».

Dir.glob("./**/*.{jpg,png}").each do |file|
  puts file
end

Другие вопросы по теме