【发布时间】:2018-04-30 05:28:35
【问题描述】:
我正在学校学习 clojure,马上就要考试了。我只是在做一些事情以确保我掌握了它。
我正在尝试逐行读取文件,并且正如我所做的那样,只要有“;”,我就想分割该行。
这是我目前的代码
(defn readFile []
(map (fn [line] (clojure.string/split line #";"))
(with-open [rdr (reader "C:/Users/Rohil/Documents/work.txt.txt")]
(doseq [line (line-seq rdr)]
(clojure.string/split line #";")
(println line)))))
当我这样做时,我仍然得到输出:
"I;Am;A;String;"
我错过了什么吗?
【问题讨论】:
-
您打印该行,但不打印拆分结果。使用
(doto (split...) println)进行调试。 -
伙计,这太愚蠢了。非常感谢!
-
补充 cfrick 所说的,这是因为你的分割结果被丢弃了,因为 line 是不可变的。您需要将结果传递给 println。更多详情见我的回答