3

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

何が恋しいですか?多分いくつかのオプションまたはdeps?

clojure-1.4.0、Leiningen-2.0、swank-1.4.4

4

1 に答える 1

6

(ns some.thing)名前空間に切り替えるだけではありません。それはそれを作成します。

最初に関数をロードする必要があります (例):

(require 'hyperstring.core)

または、core.clj 内の Slime、C-c C-k(slime-compile-and-load-file)、C-c C-p(slime-repl-set-package) から。

于 2012-07-16T18:06:21.600 に答える