我有一个使用Leiningen创建的项目,在Core.clj文件中有以下代码:
(ns hyperstring.core
(:use [clojure.pprint :only (pprint)])
(:require [clojure.java.io :as io]
[clojure.string :as str])
(:import [java.io File]))
;;read file line by line
(defn read-line-by-line [filepath]
(with-open [rdr (reader filepath)]
(doseq [line (line-seq rdr)]
(println line))))
;;write to a new file
(defn write-file [filepath]
(with-open [wrtr (writer filepath)]
(.write wrtr "Line to be written")))
和其他功能
我使用 clojure-jack-in 进入 REPL,并使用 (ns hyperstring.core) 切换到我的命名空间。接下来,我尝试启动文件中的任何函数并获取 REPL 的答案:
java.lang.Exception: Unable to resolve symbol: read-line-by-line in this context
我错过了什么?也许是一些选项或依赖关系吗?
clojure-1.4.0,Leiningen-2.0,swank-1.4.4
in-ns
而不是ns
来切换到已加载的命名空间。 - kotarak