欢迎!请参阅关于页面以获取更多有关如何操作的信息。
Doseq是执行惰性序列并执行副作用的一种好方法。如果有一个与转换器对应的宏那就更好了。
方法:所提供的补丁简单地使用提供的xform、集合和在每个步骤中丢弃累积值的减法函数对transduce进行调用。每个减法步骤的值绑定到提供的符号。如果不需要xform,提供更短的arity,但要保留doseq类似的语义。
补丁:CLJ-1523-1.patch
我喜欢这个建议,我认为它会很有用,但我也同意两个评论。目前的补丁引入了一个不太直观的绑定,它接受三个元素,这有点令人惊讶。这就是为什么我喜欢向run!添加额外arity的建议,它接受类似(run! proc xf coll)的xf。这模仿了into的工作方式,所以它感觉是直观的。
run!
(run! proc xf coll)
xf
评论者:wagjo
将xform参数设置为可选如何?在文档字符串示例中有错别字,doseq -> doreduced。
评论人:halgari
很好的点,修复了拼写错误,添加了其他参数。
评论人:gshayban
也许在 run! 上再添加一个参数
评论人:michaelblume
修正了应用到 master 的补丁
评论人:alexmiller
我真的不喜欢这种绑定看起来很奇怪,但里面有一个转置器。这在语法方面似乎不太可能。