2024年Clojure调查中分享您的观点!

欢迎!有关如何使用此工具的更多信息,请参阅关于页面。

+2
Clojure

Doseq目前是执行惰性序列和执行副作用的好方法。如果能有一个对应的转换宏就好了。

方法: 包含的补丁简单地在每一步调用transduce,提供提供的xform、集合和一个丢弃每个步骤中的累积值的归约函数。每个归约步骤的值绑定到提供的符号。提供简短的形式参数,当不需要xform但希望获得类似于doseq的语义时。

补丁: CLJ-1523-1.patch

7 答案

+2

我喜欢这个建议,我认为它很有用,但我同意所有评论。当前的补丁引入了三个元素绑定,这有点不直观,我之所以喜欢添加一个额外的xf形如(run! proc xf coll)run!的arity,是因为它模仿了into的方式,所以感觉更直观。

0

评论者:wagjo

关于提案,将xform参数设为可选的如何?并且文档字符串示例中有一个打字错误,doseq -> doreduced。

0

评论者:halgari

非常好的观点,修正了错误类型,并添加了其他运算符。

0

评论者:gshayban

可能是对 `run!` 的另一种运算符

0

评论者:michaelblume

修复补丁以应用于master

0

评论者:alexmiller

我真的不喜欢这样看起来像绑定,除了里面有一个转换器被卡住了。从语法角度来看,这似乎不太可能。

0
参考: https://clojure.atlassian.net/browse/CLJ-1523(由halgari报告)
...