Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么要使用文字字符构建Clojure字符串?_Clojure_Rationale - Fatal编程技术网

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

为什么要使用文字字符构建Clojure字符串?,clojure,rationale,Clojure,Rationale,我刚才在读一些代码,我偶然发现: 这对我来说很奇怪。使用连续的文字字符,而不是包含这些字符的字符串。我希望有更像这样的事情: (str cache ", " lru ", " tick ", " limit) 但这是一些可敬的Clojure老兵写的,这让我觉得可能有原因。原因是什么?演出还是什么?没有充分的理由。它的性能可能比带字符串的版本差,而且更难看。您也可以编写(join“,”[cache lru tick limit]),这是我的首选,但我可以理解选择直接写出来。但是,使用字符而不是字

我刚才在读一些代码,我偶然发现:

这对我来说很奇怪。使用连续的文字字符,而不是包含这些字符的字符串。我希望有更像这样的事情:

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

但这是一些可敬的Clojure老兵写的,这让我觉得可能有原因。原因是什么?演出还是什么?

没有充分的理由。它的性能可能比带字符串的版本差,而且更难看。您也可以编写
(join“,”[cache lru tick limit])
,这是我的首选,但我可以理解选择直接写出来。但是,使用字符而不是字符串是无法解释的。我无法追踪添加了这一行的承诺,因为回购协议在交换名称时至少被破坏和重建了两次,但我敢打赌没有什么好的理由。也许是一些误入歧途的表演理念。

我猜是风格选择。我不止一次地想,“老兄,我讨厌这些愚蠢的名言。”。
(str cache ", " lru ", " tick ", " limit)