我跑了lein new app hm
,然后hm/src/hm
编辑core.clj
为:
(ns hm.core
(:gen-class)
(:use [hm.hashmap]))
(defn -main []
(def j (new hm.hashmap))
(-add j "foo" "bar")
(println j))
并且hashmap.clj
是:
(ns hm.hashmap
(:gen-class
:methods [[hashmap [] java.util.HashMap]
[add [String String]]]))
(defn -hashmap []
(def h (new java.util.HashMap))
h)
(defn -add [this key value]
(. this put key value)
this)
目标是围绕 HashMap 进行包装,以便我可以理解 Clojure 以及它与 Java 的关系。我对 Clojure 还很陌生。但是,当我编译它时,我在hashmap.clj
. 我怎样才能使这项工作?