欢迎!请查看关于页面获取更多关于这个平台的详细信息。
Doseq 当前是执行懒惰序列并执行副作用的好方法。如果能有一个匹配的宏用于 transducers 就太好了。
方法: 包含的补丁简单调用 transduce,提供转换函数(xform)、集合和在每个步骤扔掉累积值的还原函数。每个还原步骤的值绑定到提供的符号。提供了一个更短的参数数量,用于不想使用 xform 但还想获得快速的 doseq-like 语义的情况。
补丁: CLJ-1523-1.patch
我喜欢这个建议,并且我认为它会有用,但我也同意两个评论。当前的补丁引入了一个不太直观的只取三个元素的绑定,这有点令人惊讶。这就是为什么我喜欢在 run! 中添加一个接受额外 xf(如 (run! proc xf coll))的参数性的建议。这模仿了 how into 已有的方式,所以感觉直观。
run!
xf
(run! proc xf coll)
评论者:wagjo
将 xform 参数设为可选如何?并且 docstring 示例中有拼写错误,doseq -> doreduced。
评论者:halgari
很好的观点,修正了拼写错误,添加了其他参数。
评论者:gshayban
也许应该在 run! 上添加另一个参数
评论者:michaelblume
修复了应用到 master 的补丁
评论者:alexmiller
我真的不喜欢它的外观,看起来像是绑定,但里面有一个转置器,这在语法上似乎不太可能行得通。