这应该是一个简单的问题,但我花了几个小时,我仍然不明白如何在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)
Run Code Online (Sandbox Code Playgroud)
我可以将"hi"字符串附加到集合中,并且每行都在doseq中打印出来,但是当我打印出来时,该集合最终会变成空白.
我对OO编程非常熟悉,但函数式编程对我来说是新的.
简单的问题:如果我有一个boost :: filesystem :: path对象,我怎样才能得到这个文件的行数?我需要比较两个文件的行数作为前置条件检查.
我是新手,并且最近习惯于使用Java编程.我在网上搜索过,但却找不到这么简单的任务的例子.
非常感谢!