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.