Clojure Repl无法解析所有函数的符号

sig*_*ami 3 clojure read-eval-print-loop

我用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")))
Run Code Online (Sandbox Code Playgroud)

和其他功能

我用clojure-jack-in输入REPL 并用(ns hyperstring.core)切换到我的命名空间.接下来,我正在尝试启动文件中的任何函数并获取REPL asnswer:

java.lang.Exception: Unable to resolve symbol: read-line-by-line in this context
Run Code Online (Sandbox Code Playgroud)

我错过了什么?也许一些选项或代表?

clojure-1.4.0,Leiningen-2.0,swank-1.4.4

Joo*_*aat 6

(ns some.thing)不只是切换到命名空间; 它创造了它.

您应该首先使用(例如)加载函数:

(require 'hyperstring.core)

或者来自Slime,C-c C-k(slime-compile-and-load-file),C-c C-p(slime-repl-set-package),同时在core.clj中.