lambda函数常常只有一个参数,比如map、filter、find等。
我认为可以有一个宏来实现类似于 (fn-> :value inc (> 1))
的操作,它与 #(-> % :value inc (> 1))
等价。
比如这样的:
(defmacro fn->
[& forms]
`(fn [x#] (-> x# ~@forms)))
(defmacro fn->>
[& forms]
`(fn [x#] (->> x# ~@forms)))
我认为如果它在核心库中,这将是非常有用的,提高可读性。你们觉得呢?