欢迎!请参阅关于页面以了解更多关于此功能的信息。
Doseq目前是一种执行懒惰序列并执行副作用的好方法。如果能够有一个匹配的transducer宏会很好。
方法:所包含的补丁简单地使用提供的xform、集合和一个在每个步骤中丢弃累积值的减少函数调用transduce。每个减少步骤的价值绑定到提供的符号。提供较短的形式参数,用于不希望使用xform,但仍需要快速的doseq-like语义的情况。
补丁:CLJ-1523-1.patch
我喜欢这个建议,我认为它很有用,但也同意之前的两个评论。当前的补丁引入了一个不太直观的包含三个元素 绑定,有点令人惊讶。这就是为什么我喜欢在run! 添加一个接受类似 (run! proc xf coll) 的额外 xf 的形式参数的建议。这类似于into的工作方式,所以感觉很直观。
run!
(run! proc xf coll)
xf
评论者:wagjo
将xform参数设为可选如何?并且在docstring示例中有错误,doseq应该改为doreduced。
评论由:halgari发表
很好的点,修正了拼写错误,增加了其他价数。
评论由:gshayban发表
在run!上也许需要另一个价数。
评论由:michaelblume发表
已修正补丁以应用到master上
评论由:alexmiller发表
我真的不喜欢它的外观像绑定,除非里面有一个传传感器。这在语法层面上似乎不太可能。