возможно ли иметь .any? метод с двумя блоками? - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть этот код для определения возвращаемого класса:

def level_class(projects)
  return 'badge-danger' if projects.any?(&:suspicious_content?) || projects.any?(&:tiny_description?)
  'badge-info'
end

Возможно ли объединить &:suspicious_content? и &:tiny_description??

Это не сработает, но что-то вроде projects.any?(&:suspicious_content? || &:tiny_description?) будет круто!

1 Ответ

0 голосов
/ 07 ноября 2018

«слияние» не имеет смысла, как отмечалось в комментариях к вашему вопросу. Но вы можете добиться практически того же, что и в вашем последнем случае, например:

projects.any?{ |i| i.suspicious_content? || i.tiny_description? }

Или, если вы хотите использовать блок несколько раз, вы можете сделать следующее:

b = lambda{ |i| i.suspicious_content? || i.tiny_description? }
projects.any? &b
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...