欢迎!请参阅关于页面以了解有关此工作的更多信息。
Doseq 目前是执行懒序列和执行副作用的好方法。有一个对应的 transducer 宏将很棒。
方法:包含的补丁只需简单地使用提供的结果,集合,以及在每一步丢弃累积值的减少函数调用 transduce。每个减少步骤的值被绑定到提供的符号。在没有 xform 的需要但需要类似 doseq 语义的情况提供更短的参数个数。
补丁:CLJ-1523-1.patch
我喜欢这个建议的想法,我认为它将很有用,但我同时也同意两个评论。当前的补丁引入了一个三个元素的绑定,这在某种程度上比较让人惊讶。这就是为什么我喜欢在run!中添加一个额外的xf参数的建议,即(run! proc xf coll)。这类似于into的工作方式,所以感觉比较直观。
run!
xf
(run! proc xf coll)
into
评论者:wagjo
关于使 xform 参数可选的呢?并且在文档字符串示例中有一个拼写错误,将 doseq -> doreduced。
评论人:halgari
好的观点,已修正拼写错误,增加了其他阶数。
评论人:gshayban
也许可以在 run! 上增加另一个阶数。
评论人:michaelblume
已修正修补程序以应用于master
评论人:alexmiller
我真的不喜欢这种看起来像绑定的样子,可是里面还夹着一个transducer。从语法角度来看,这似乎不太可能飞起来。