在《2024年Clojure调查问卷!》中分享您的想法

欢迎!请参阅关于页面以获取更多有关此页面如何工作的信息。

0
语法和读取器

使用线程宏的时候,哪种表达式更符合习惯 —— 是应该将函数调用用括号括起来,还是不括起来?

考虑这个

(-> (client/get "https://example.com/resource" options)
    first
    :id))])

这也会生效(注意函数调用first:id周围的括号()

(-> (client/get "https://example.com/resource" options)
    (first)
    (:id)))])

我们应该使用括号,还是不使用?
哪种更符合习惯?

1 答案

+2

被选中
 
最佳答案

两种都可以。我觉得不使用括号更为常见,但人们对这一做法有不同的偏好。

我最近的偏好是包装函数调用,但不包装关键字,因为我发现当您在学习深层次结构并仅转换其中的一部分时,强调这些差异是阅读代码的有用辅助工具。但长期以来,我没有麻烦去包装一元函数调用。

(-> 数据 (first) :id (转换 :it) (f) :结果 :状态 :值)

我还喜欢所有实际函数调用的统一性,而不是混合未包装的一元调用和包装的二元及以上调用。
...