私はこのClojureコードを持っています:
(defn apply-all-to-arg [& s]
(let [arg (first s)
exprs (rest s)]
(for [condition exprs] (condition arg))))
(defn true-to-all? [& s]
(every? true? (apply-all-to-arg s)))
これはテストコードです:
(apply-all-to-arg 2 integer? odd? even?)
=> (真偽真)
(every? true? (apply-all-to-arg 2 integer? odd? even?)
=>偽
(true-to-all? 2 integer? odd? even?)
=>真
私の質問は次のとおりです。なぜ関数はすべてに忠実なのですか? true を返す (代わりに false を返す必要があります)