1

swank プラグイン、Emacs、SLIME、および clojure-mode を使用して lein をインストールし、lein new を使用して新しいプロジェクトを作成しました。プロジェクトを clojure-test と呼びました。次に、Emacs で clojure_test/src/clojure_test/core.clj を開き、このファイル内でM-x clojure-jack-in. これにより、問題なく動作する SLIME ウィンドウが開きます。を使用してコードをロードし、 を使用C-c C-lしてプロジェクトの名前空間に切り替え、プロジェクトC-c M-pに追加した依存関係を使用できます。

「ユーザー」名前空間から、プロジェクト自体に名前空間を使用しようとすると、問題が発生します。"user" 名前空間から SLIME 内で呼び出す(use 'clojure-test)と、次のエラーが発生します。

Could not locate clojure_test__init.class or clojure_test.clj on classpath:
[Thrown class java.io.FileNotFoundException]
  1. Clojure がこれらのファイルを検索するのはなぜですか? で切り替えることができるので、名前空間は明らかに既にロードされていますC-c M-pが、何らかの理由で Clojure は、これらの特定のファイルが名前空間を使用するために重要であると考えています。

  2. SLIME のベース名前空間を使用できるようにプロジェクトをセットアップするにはどうすればよいですか? lein がこれを処理することになっているので、必要な情報を提供していないのは何ですか?

4

1 に答える 1

2

名前空間「clojure-test」は ./src/clojure_test.clj にある必要があります (./src は、project.clj ファイルで変更しない限り、デフォルトでクラスパスにあります)。

入れましたかsrc/clojure_test/core.clj(代わりに ns clojure-test.core が必要です)。

http://clojure.org/libsにあるライブラリのドキュメントを参照してください。

于 2012-01-14T10:23:46.023 に答える