2015-10-05 3 views
-1

У меня есть список Movie и у фильма есть множество жанров. В большинстве фильмов есть только один жанр, но некоторые из них имеют два, например "Drama" и "Comedy". Мне нужно выбрать все фильмы, соответствующие одной или нескольким категориям. Например, мне нужен запрос для выбора фильмов, которые являются "Drama" или "Comedy". Я сделал этоВыбор объектов на основе массива

@movies.select { |mov| mov.genres.include? ['Drama', 'Comedy'] } 

Но это выбор, кажется эксклюзивным: он ищет фильмы, которые являются как "Drama" и "Comedy". Есть ли способ сделать это в одной строке или я должен перебирать все жанры?

ответ

1

Да, есть.

query = %w[Drama Comedy]; @movies.reject{|e| (e.genres & query).empty?} 
+1

Отлично! спасибо, что сработало –

Смежные вопросы