请在2024 Clojure现状调查!分享您的想法。

欢迎!请访问关于页面了解更多关于这个网站如何运作的信息。

+8投票
Clojure

如果您有一个生成字符串流的有效转换器链,您可能希望最终将这些累积为一个字符串。例如,现有的str函数由于没有可以维护的状态化累计器,会产生大量开销。

您真正想要的是一个在完成时才输出字符串的StringBuilder。

字符串连接可以是这样的

(transduce (interpose ",") str! coll)

根据需要扩展更多的转换器。

cgrand的xforms库中有类似的东西:https://github.com/cgrand/xforms/blob/2079b74271b858b6a91dcb87bc58f3b93ea0b19c/src/net/cgrand/xforms/rfs.cljc#L145-L147

1个回答

+1投票
...