是否有方法可以将谓词方法与Enumerable
接口组合切换?高阶函数切换谓词方法
require 'prime'
(1..10).select(&:prime?)
# => [2, 3, 5, 7]
# Toggling the prime? predicate?
(1..10).select(not(&:prime?))
# SyntaxError: (irb):3: syntax error, unexpected &, expecting ')'
具体而言,我需要另一个谓词,如果所有元素都不满足自定义谓词,则返回true。
# concrete example
set.all?(not(:&custom_predicate?))
我将我的评论移到了问题上,以使我的选择合理。 – sschmeck