我有一个Movie
列表和一个电影类型数组。大多数电影只有一种类型,但有些电影有两种类型,比如"Drama"
和"Comedy"
。我需要选择匹配一个或多个类别的所有电影。例如,我希望查询选择"Drama"
或"Comedy"
的电影。我做了这个
@movies.select { |mov| mov.genres.include? ['Drama', 'Comedy'] }
但是这个select似乎是排他性的:它搜索同时是"Drama"
和"Comedy"
的电影。是否有办法在一行中完成,或者我是否应该遍历所有类型?
有。
query = %w[Drama Comedy]; @movies.reject{|e| (e.genres & query).empty?}