clojure - 为什么使用文字字符构建 Clojure 字符串?

标签 clojure

我刚才正在读一些代码,我遇到了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/

相关文章:

clojure - 遍历Clojure中集合的所有对的惯用方式

clojure - clojure 映射和关键字如何成为一个函数

node.js - Clojurescript + Node.js 0.12.7 问题(错误 "process.binding(' evals')没有这样的模块 : evals")

Emacs:.emacs 中延迟加载模式的最佳实践?

clojure - 如何在 core.logic 中编写自己的简单约束函数?

clojure - 将函数具体化为映射的语法方法是什么?

Clojure/Logic Pro

clojure - 阻止我无权访问的代码中的系统/退出

Clojure 传感器行为

ant - 用 ant 构建 clojure