2024 Clojure 状态调查!中分享您的想法。

欢迎!请参阅关于页面获取更多关于这个网站的工作方式的信息。

+1
IO

Clojure-1.12 增加了 clojure.java.process 命名空间。我疑惑为什么 `clojure.java.process/capture` 作为一个公开的 API 被暴露,因为它基本上与 `slurp` 做的事情相同,只是在选项上有细微的区别。

这不是一个答案,而是一个有趣的不同之处,即 `capture` 由于某种原因会修剪其输出,而 `slurp` 则不会。这可能会引起处理真正需要输出前导/尾随空白的进程时的问题。
看到这个被加入进来感到很惊讶,而类似的适合处理二进制数据的却没有。

1 答案

+1
by
selected by
 
最佳答案

这是一个好问题,“捕获”最初可以进行更多操作,但随着时间的推移,这些功能逐渐被淘汰,现在它与“slurp”大体相同。在解析shell调用输出的过程中,我发现自己一直在做修剪输出的操作,但也许在捕获(实际上可能是slurp)中做到这一点并不正确。我认为我们在这个领域还需要进行一轮更多的调整。

...