2015-10-04 65 views
2

我學習Clojure的,我有問題,理解這一Clojure的代碼,所以我有這個部分功能有人可以解釋這段clojure代碼嗎?

(def add-five (partial + 5)) 

當我運行,

(add-five 2)# I get 7 
(add-five 2 5) # I get 12 

對於第一次,我給一個說法;其次,我提出兩個論點。

(map add-five [1 2 3 4 5]) 

這給了我

(6 7 8 9 10) 

在這裏,我假設,加個正在應用的列表的元素。但是,當我跑,

(reduce add-five [1 2 3 4 5]) 

,我不知道發生了什麼?

(reduce add-five [0]) #gives me zero 
(reduce add-five [0 0]) #gives me five 

有人可以解釋發生了什麼我運行減少像上面嗎?

回答

6
(reduce add-five [0]) #gives me zero 

對於這條線被應用於從the documentation此規則:

如果科爾只有1個項目,則返回和f不叫

否則應用add-five功能到00參數:(add-five 0 0)

相關問題