Получение слизи для поиска файлов на classpath и содействие - PullRequest
2 голосов
/ 30 марта 2012

Я недавно решил начать использовать Slime / Swank для написания Clojure.Я вчера установил Incanter, Clojure, Slime и Swank, следуя этому посту к письму, которое работало нормально.Однако у меня возникла проблема с поиском в Slime каталогов и файлов на пути к классам.Я использую Slime, используя lein swank и slime-connect в Aquamacs на OS X 10.6.У меня два вопроса:

1) Я создал небольшой проект по созданию игры симуляции жизни.У меня есть файл grid.clj, сделанный ранее, который я поместил в каталог lib проекта.В core.clj я помещаю следующее

(ns gof.core
  (:require grid))

(def w (grid.make_grid 8))

Выполнение C-x C-e после того, как этот фрагмент кода выдаст это сообщение об ошибке в repl:

Could not locate grid__init.class or grid.clj on classpath: 
  [Thrown class java.io.FileNotFoundException]

, поэтому я посмотрел на свой путь к классу, используя

(doseq [p (.getURLs (java.lang.ClassLoader/getSystemClassLoader))] (println (.getPath p)))

, который произвел это:

/Users/zjanes/Documents/gof/test/
/Users/zjanes/Documents/gof/test-resources
/Users/zjanes/Documents/gof/src/
/Users/zjanes/Documents/gof/classes/
/Users/zjanes/Documents/gof/resources
/Users/zjanes/Documents/gof/lib/clojure-1.3.0.jar
/Users/zjanes/Documents/gof/lib/grid.clj
/Users/zjanes/.lein/plugins/swank-clojure-1.3.4.jar
nil
user> 

Мне кажется, что grid.clj находится на этом пути к классам, так почему я получаю сообщение об ошибке?

2) Пытаясь решить эту проблему, я взглянул на clojure-1.3.0.jar и не смог найти ничего похожего на clojure.contrib.Разве contrib не включается при установке clojure, как описано выше?

Я уверен, что очевидно, что я полный новичок с clojure, поэтому чем яснее ответ и чем меньше предполагаемых знаний, тем лучше.

Для полноты я посмотрел эти ответы ( 1 2 3 ) и эту страницу , а также немного погуглил.

Заранее спасибо

1 Ответ

0 голосов
/ 31 марта 2012

это учебное пособие с 2009 года, и, насколько я могу судить, его нельзя заставить работать по этим инструкциям.

В Clojure 1.3 вклад Clojure был разделен на множество подпроектов, поэтому он больше не выходит под этим именем.

в общем случае пространства имен clojure теперь состоят из двух частей, например:

(ns gof.core
  (:require [incanter.grid])
...