我刚才正在阅读一些代码,我跑过这一行:
(str cache \, \space lru \, \space tick \, \space limit)
Run Code Online (Sandbox Code Playgroud)
这对我来说很奇怪.使用连续的文字字符,而不是包含这些字符的字符串.我希望更像这样的东西:
(str cache ", " lru ", " tick ", " limit)
Run Code Online (Sandbox Code Playgroud)
但这是由一些古老的Clojure老兵写的核心库,这让我觉得可能有一个原因.什么原因?性能?或者是什么?
没有充分的理由.除了丑陋之外,它可能比带字符串的版本更糟糕.你也可以写(join ", " [cache lru tick limit]),这是我的偏好,但我可以理解选择写出来的.但是,使用字符而不是字符串是莫名其妙的.我无法追踪添加此行的提交,因为repo已经被破坏并且在切换名称时至少重建了两次,但我打赌没有充分的理由.也许是一些被误导的表现想法.