我最近决定开始使用Slime / Swank来编写Clojure。我昨天按照this blogpost的字母安装了Incanter,Clojure,Slime和Swank,这封信很好。但是,我遇到了让Slime在类路径中查找目录和文件的问题。我在OS X 10.6上使用Aquamacs中的lein swank
和slime-connect
运行Slime。我有两个问题:
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的内容。如上所述安装clojure时是否包含contrib?
我确信很明显我是一个完整的新手,所以答案越清楚,知识越少,就越好。
为了完整起见,我查看了这些答案(1 2 3)和this page,以及一些谷歌搜索。
提前致谢
答案 0 :(得分:0)
该教程是从2009年开始的,据我所知,无法使用这些说明进行操作。
Clojure contrib已被拆分为clojure 1.3中的许多子项目,因此它不再以该名称退出。
一般来说,clojure命名空间现在有两部分,例如:
(ns gof.core
(:require [incanter.grid])