-1
從http://www.braveclojure.com/functional-programming/開始,以下代碼將修剪空白並用「LOL」替換「lol」。Clojure:如何在減少功能時傳遞參數
(require '[clojure.string :as s])
(defn clean
[text]
(s/replace (s/trim text) #"lol" "LOL"))
(clean "My boa constrictor is so sassy lol! ")
; => "My boa constrictor is so sassy LOL!"
現在,根據網站下面的代碼減少功能相當於我們上面的代碼。
(defn clean
[text]
(reduce (fn [string string-fn] (string-fn string))
[s/trim #(s/replace % #"lol" "LOL")]))
問題:我不明白是怎麼text
參數得到傳遞到匿名函數中減少功能。我如何編寫一個類似的代碼,明確地將參數text
傳遞給reduce函數中的匿名函數?
這似乎是不正確的。 – ntalbs 2014-10-20 01:00:17
@ntalbs如果'text'是函數向量之前的arg,它就會工作。 – noisesmith 2014-10-20 01:02:03
我給了這個問題更多的描述。請不要低估。 @noisesmith我試着在函數向量之前添加'text'。它沒有工作 – mynameisJEFF 2014-10-20 01:04:23