Importing clojure.contrib.generic.math-functions
I download the clojure 1.2 and clojure-contrib-1.2.0.jar from the download site.
And I found the info about the math functions.
As is shown in the example, I tried to run the code.
(ns your-namespace
(:require clojure.contrib.generic.math-functions))
(println (abs 10))
But, I got the following error, when I run as follows.
CLOJURE_JAR=/Users/smcho/bin/jar/clojure.jar:/Users/smcho/bin/jar/clojure-contrib-1.2.0.jar
java -cp $CLOJURE_JAR:$CLASSPATH clojure.main SOURCE.CLJ
Exception in thread "main" java.lang.Exception: Unable to resolve symbol: abs in this context (hello.clj:4) at clojure.lang.Compiler.analyze(Compiler.ja开发者_高级运维va:5205) ... at clojure.main.main(main.java:37) Caused by: java.lang.Exception: Unable to resolve symbol: abs in this context at clojure.lang.Compiler.resolveIn(Compiler.java:5677) at clojure.lang.Compiler.resolve(Compiler.java:5621) at clojure.lang.Compiler.analyzeSymbol(Compiler.java:5584) at clojure.lang.Compiler.analyze(Compiler.java:5172) ... 25 more
What might be wrong?
Try :use
instead of :require
(ns your-namespace
(:use clojure.contrib.generic.math-functions))
(println (abs 10))
10
nil
Require makes the symbol (abs in this case) available, but you'd have to fully qualify it. Use imports the symbol into "your-namespace":
(ns your-namespace2
(:require clojure.contrib.generic.math-functions))
(println (clojure.contrib.generic.math-functions/abs 10))
10
nil
精彩评论