我正在学习Clojure,我遇到了这个例子:
(defn people-in-scenes [scenes]
(->> scenes
(map :subject)
(interpose ", ")
(reduce str)))
->>
到底是做什么的?
发布于 2016-12-21 19:33:58
我发现阅读Clojure cheatsheet (和ClojureScript cheatsheet)很有帮助。这些列表列出了该语言中的所有常见函数。当然,在其他库中还有很多其他函数。
另请参阅->
,它将函数作为第二个参数传递到下一个形式。
发布于 2019-03-22 04:40:30
下面将产生相同的结果
(->> 10
(range)
(filter odd?)
(map #(* 2 %))
(reduce +))
第一个是这样写的,然后是这个,然后是那个。第二个从左到右读作“对小于10的两倍奇数求和”。
(reduce + (map #(* 2 %) (filter odd? (range 10))))
如果你来自javascript或C#,第一个例子读起来像是javascript中的linq或点链接。
range(10).filter(odd)
.map(x => x * 2)
.reduce((a,b) => a + b)
https://stackoverflow.com/questions/41248466
复制相似问题