关于clojure中的一些函数和宏(一)

->、->>的区别。

例子:
 (-> (+ 1 2) (/ 2)) ;;返回结果3/2.
 (->> (+ 1 2) (/ 2)) ;;返回结果2/3.


->  后面的函数迭代使用之前的函数结果作为第一个参数,返回最后一次函数调用的值

(-> (+ 1 2) (/ 2)) ;;的可解析为:
(/ (+ 1 2)  2) 
;;(+ 1 2)作为参数,传递给了后一个函数,并作为第一个参数。以此类推下去。



->> 后面的函数迭代使用之前的函数结果作为最后一个参数,返回最后一次函数调用的值.
 (->> (+ 1 2) (/ 2)) ;;的可解析为:
 (/  2 (+ 1 2)) 
;;(+ 1 2)作为参数,传递给了后一个函数,并作为最后一个参数。以此类推下去。

你可能感兴趣的:(clojure)