是否有方法可以將謂詞方法與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