我有这样的代码来确定返回的类:
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?)
这样的东西会很酷!
正如您的问题评论所指出的那样,"合并"没有意义。但你实际上可以实现与后一种情况相同的事情:
projects.any?{ |i| i.suspicious_content? || i.tiny_description? }
或者,如果你想多次使用一个块,你可以做如下操作:
b = lambda{ |i| i.suspicious_content? || i.tiny_description? }
projects.any? &b