这应该是一个简单的问题,但我已经花了几个小时,仍然不明白如何在Clojure中正确地使用集合。我试图读取一个文件并将每一行存储在一个集合中。
以下是我的代码。
(def dictionary #{})
;(conj dictionary "hi")
(defn readDictionary []
(doseq [line (clojure.string/split-lines
(slurp "C:\\Working\\Other\\dictionary.txt"))]
(println line)
(conj dictionary line)))
(readDictionary)
(println dictionary)
我可以将字符串“hi”附加到集合中,并且在doseq内打印出每行内容,但当我打印出集合时,它最终为空。
我非常熟悉面向对象编程,但函数式编程对我来说是一件新事物。