我正在研究一個項目,以在實踐中學習Clojure。我做得很好,但有時候我卡住了。這一次,我需要轉換格式的序列:分組單詞和更多
[":keyword0" "word0" "word1" ":keyword1" "word2" "word3"]
到:
[[:keyword0 "word0" "word1"] [:keyword1 "word2" "word3"]]
我想至少有兩個小時,但我不知道這麼多的Clojure功能來撰寫一些有用的東西來以功能方式解決問題。
我認爲,這種轉變應該包括一些分區,這裏是我的嘗試:
(partition-by (fn [x] (.startsWith x ":")) *1)
但結果是這樣的:再次
((":keyword0") ("word1" "word2") (":keyword1") ("word3" "word4"))
現在我應該組...我懷疑我在這裏做正確的事情...另外,我需要將字符串(僅限於那些以:
開頭的字符串)轉換爲關鍵字。我認爲這個組合應該可以工作:
(keyword (subs ":keyword0" 1))
如何編寫一個函數,以最習慣的方式執行轉換?
[Clojure的的cheatsheet](http://clojure.org/cheatsheet)是一個很好的基準順便說一句 – noisesmith 2014-08-30 17:28:54
@noisesmith,確實!我現在使用[ClojureDocs](http://clojuredocs.org/),但應該知道函數的名稱以在那裏查找信息。感謝您的建議! – Mark 2014-08-30 17:30:31