我刚才正在读一些代码,我遇到了this line :
(str cache \, \space lru \, \space tick \, \space limit)
这对我来说很奇怪。使用连续的文字字符,而不是包含这些字符的字符串。我希望得到更多类似这样的东西:
(str cache ", " lru ", " tick ", " limit)
但是这是在 a core library 中由一些德高望重的 Clojure 老手写的,这让我觉得也许是有原因的。什么原因?表现?或者什么?
最佳答案
没有充分的理由。除了更丑之外,它的性能可能比带字符串的版本更差。您也可以编写 (join ", "[cache lru tick limit])
,这是我的偏好,但我可以理解选择手写它。但是,使用字符而不是字符串是令人费解的。我无法追踪添加此行的提交,因为存储库在更改名称时已被销毁和重建至少两次,但我敢打赌没有充分的理由。也许有一些误导的性能想法。
关于clojure - 为什么使用文字字符构建 Clojure 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24718622/