我是Clojure的新手,我正在做一些labrepl的基本工作,現在我想寫一個函數,用其他字母替換某些字母,例如:elosska→elößkä。通過doseq迭代地圖
我寫了這個:
(ns student.dialect (:require [clojure.string :as str]))
(defn germanize
[sentence]
(def german-letters {"a" "ä" "u" "ü" "o" "ö" "ss" "ß"})
(doseq [[original-letter new-letter] german-letters]
(str/replace sentence original-letter new-letter)))
但我希望這是行不通的。請問你能幫幫我嗎?
是的,這比我的更甜。非常好:-) – Scott
是的,'reduce'功能更強大,功能更強大,我只是想顯示出現問題的地方... –
哇,我花了一點時間來討論這個問題,這是對reduce和參數解構的巧妙運用!我可以立即在我自己的代碼中使用該技術。真的希望有一本書有這樣的功能'模式'。 – NielsK