3

私はJVM全体に不慣れで、clojureで遊んでみています。clojure-contribをロードしようとしていますが失敗します:

# in bash
$ java -cp /path/to/clojure.jar:/path/to/contrib.jar clojure.main

# in REPL
user=> (require 'clojure.contrib.math)
nil
user=> (sqrt 2)
java.lang.Exception: Unable to resolve symbol: sqrt in this context (NO_SOURCE_FILE:10)

どんなポインタも素晴らしいでしょう-ありがとう。

4

2 に答える 2

2

私は専門家ではありませんが、名前空間の問題のようでした。私が採用した解決策はこれでした:

;; for REPL
user=> (ns user (:use clojure.contrib.math))
nil
user=> (sqrt 2)
1.4142135623730951
于 2011-07-06T07:43:55.310 に答える
1

すべてのシンボルを現在の名前空間にマップするrequireの後にreferを配置する必要があります

(require 'clojure.contrib.math)
(refer 'clojure.contrib.math)

(sqrt 2)
(expt 2 3)

詳細なイントロについては、ウィキブックスの記事を読むことができます。 http://en.wikibooks.org/wiki/Clojure_Programming/Concepts#Refer_and_Use

于 2011-09-16T19:35:06.000 に答える