我已經開始學習clojure了,但是我在圍繞某些概念包裝時遇到了麻煩。例如,我想在這裏做的是採取這個功能,並將其轉換,以便它懶惰地調用get-origlabels。在clojure懶洋洋地構建套裝
(defn get-all-origlabels []
(set (flatten (map get-origlabels (range *song-count*)))))
我使用遞歸,但第一次嘗試炸燬了堆棧(歌曲數大約爲10000)。我無法弄清楚如何用尾遞歸來做到這一點。
get-origlabels在每次調用時都會返回一個集合,但值之間往往會在調用之間重複。 get-origlabels函數實際上做的是讀取一個文件(對於0到song-count -1中的每個值,都有一個不同的文件),並將其中存儲的單詞返回到一個集合中。
任何指針將不勝感激!
謝謝! -Philip
嗨,謝謝,我不認爲它會變得如此簡單! – Philip 2011-04-13 02:25:51
+1用於解釋該集合「去拉斯化」序列。現在我們迫切需要一個動詞。 – Leonel 2011-04-13 03:14:04
「要認識到」序列是這個標準動詞;我似乎已經懶惰回憶它:) – trptcolin 2011-04-13 03:47:50