Clojure Repl Невозможно разрешить символ для всех функций

У меня есть проект, созданный с помощью 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")))

и другие функции

Я вхожу в REPL с clojure-jack-in и переключаюсь (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

1 ответ

Решение

(ns some.thing) не просто переключается на пространство имен; это создает это.

Вы должны загрузить свои функции сначала используя (например):

(require 'hyperstring.core)

или из слизи, C-c C-k (Шламовых компиляция и нагрузка-файл), C-c C-p (slime-repl-set-package) в то время как в core.clj.

Другие вопросы по тегам