假設您想要測試僅根據連續元素定義的屬性的Clojure序列。例如,單調性。Clojure:測試運行屬性的序列
(defn monotonic?
[sequence]
(every? #(<= (first %) (second %))
(partition 2 1 sequence)))
但我其實想要做到這一點的許多不同的屬性。我複製此對於每個,或我可以抽象:
(defn sequence-has-property?
[f sequ]
(every? #(apply f %)
(partition 2 1 sequ)))
如果我想抽象出以前的項數在其上的測試是相關的(例如,使得#(=%3(+% %2))可以測試一個廣義Fibonacci圖案),可以寫:?
(DEFN序列具有屬性 並[f色曲N] (每#(申請F%) (分段N 1 sequ)))
問題:有沒有更好的(更快/更習慣)的方式?
難道你不再感興趣的是依賴於兩個以上的連續元素屬性? – Thumbnail
哦,我是。我不是故意編輯出來的。 – galdre