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

选中
 
最佳答案

都可以。我会说通常不使用括号更常见,但人们对此有不同的偏好。

我现在的偏好是包裹函数调用但不包裹关键字。我发现当在深层结构中进行导航并仅对结构的一部分进行转换时,突出这种差异对于阅读代码是有用的,但多年来我没有为此包裹一元函数调用。

(→ 数据(首项):id (转换 :it) (f) :result :status :value)

我也喜欢所有的实际函数调用都被包装,无论其元数是什么,而不是1元调用和2+元调用混合。
...