我想寫一個函數,需要一個字符串並返回過濾器函數的結果(我正在通過4clojure問題)。結果也必須是一個字符串。Clojure加入無法從過濾器函數的結果創建字符串
我寫這樣的:
(fn my-caps [s]
(filter #(Character/isUpperCase %) s))
(my-caps "HeLlO, WoRlD!")
Result: (\H \L \O \W \R \D)
現在我試圖創建一個字符串出這份名單的,使用clojure.string /加盟,像這樣:
(fn my-caps [s]
(clojure.string/join (filter #(Character/isUpperCase %) s)))
結果然而是相同的。我也試過使用apply str
,但沒有成功。
謝謝!它使我查找雙箭頭線程宏。我以前不知道線程宏。 –
@ntalbs,爲什麼在這裏使用' - >>'運算符?一個簡單的函數調用就足以調用'apply' –
@ÓscarLópez是的,你是對的。結果是一樣的。但是,使用' - >>'可以更輕鬆地閱讀代碼閱讀,並按照我的思維過程輸入。而已。這是一種個人喜好。 – ntalbs