jho*_*rth 5 functional-programming clojure
假设我有一个带有两个项目的谓词并返回true为false.我想在序列中的每个连续对之间插入一个项,该谓词返回true.我想出了几个解决方案,但我想知道在Clojure中以功能方式执行它的惯用方法是什么?
这是我的尝试:
(defn interpose-predicated [pred in coll]
(if (next coll)
(->> coll
(partition 2 1)
(mapcat (comp next #(if (apply pred %) (interpose in %) %)))
(cons (first coll)))
coll))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
301 次 |
| 最近记录: |