【发布时间】:2018-12-03 17:02:09
【问题描述】:
我是clojure的新手。我在删除特殊字符并逐行读取 clojure 文件后如何打印特定字符串时遇到问题。
我有一个名为 example.clj 的文件,如下所示:
(defn patient
"Some string"
(measures
patient/symptom-fever
patient/symptom-cold
.
.
.
.
patient/symptom-bp))
我已经从上面的文件中删除了所有的特殊字符,并使用下面的 clojure 代码逐行读取文件。
(defn loadcljfile []
(def newstring(clojure.string/replace (slurp "C:/Users/Desktop/example.clj") #"[\[/.(:)\]-]" " "))
(with-open [rdr (reader newstring)]
(doseq [line (line-seq rdr)]
(println line))))
(loadcljfile)
现在不知道如何打印患者,即我的定义名称和所有措施。
谁能帮帮我?
谢谢
【问题讨论】:
-
每个有效的 clojure 文件都可以被视为一个数据结构,因此将其与单纯的行序列一起使用没有多大意义。例如,我应该在这里使用
org.clojure/tools.reader,然后使用specter遍历这个数据结构。