4

我刚才正在阅读一些代码,我遇到了这一行

(str cache \, \space lru \, \space tick \, \space limit)

这对我来说很奇怪。使用连续的文字字符,而不是包含这些字符的字符串。我会期待更多这样的事情:

(str cache ", " lru ", " tick ", " limit)

但这是在一些可敬的 Clojure 资深人士编写的核心库中,这让我觉得也许是有原因的。什么原因?表现?或者是什么?

4

1 回答 1

6

没有充分的理由。除了更丑之外,它的性能可能比带字符串的版本更差。你也可以写(join ", " [cache lru tick limit]),这将是我的偏好,但我可以理解选择手写。但是,使用字符而不是字符串是莫名其妙的。我无法追踪添加此行的提交,因为 repo 在切换名称时已被破坏并重建至少两次,但我敢打赌没有充分的理由。也许是一些被误导的表演理念。

于 2014-07-13T02:45:22.753 回答