这是我的核心代码(抱歉,有些部分是葡萄牙语)
(ns prova1-ed.core
(:gen-class))
(use 'clojure.java.io)
(defn getFile []
(let [filename (read-line)]
(if (.exists (java.io.File. filename))
filename
(do
(println "Nome de arquivo inválido. Digite novamente:")
(recur)))))
(defn getFileLines [^String filename]
(defn lista '())
(with-open [rdr (reader filename)]
(doseq [line (line-seq rdr)]
(if-not (= "" line)
(concat lista '(line)))
))
lista)
(defn -main [& args]
(println "Olá! Digite um arquivo contendo as contas bancárias:")
(getFileLines (getFile)))
prova1-ed.core> (-main)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: -main in this context, compiling:(C:\Users\Tiago\AppData\Local\Temp\form-init296650600503762010.clj:1:1)
我使用苹果酒,莱因和Emacs。我没有改变这个项目.clj。它昨天(真的)工作。
如果需要,我可以提供更多数据。
我按照建议尝试lein run
,然后收到了
Unable to resolve symbol: filename in this context, compiling:(prova1_ed/core.clj:8:18)
filename
应该是read-line
结果。
答案 0 :(得分:0)
错误发生在(defn lista '())
。它应该是(def lista '())
。
知道了。
(使用Emacs很难调试)
谢谢!