【问题标题】:loading clojure-contrib加载 clojure-contrib
【发布时间】:2016-07-22 14:21:52
【问题描述】:

我是整个 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)

任何指针都会很棒 - 谢谢。

【问题讨论】:

    标签: import clojure classpath jvm-arguments clojure-contrib


    【解决方案1】:

    我不是专家,但这似乎是一个命名空间问题。我采用的解决方案是这样的:

    ;; for REPL
    user=> (ns user (:use clojure.contrib.math))
    nil
    user=> (sqrt 2)
    1.4142135623730951
    

    【讨论】:

      【解决方案2】:

      您应该将 refer 放在 require 之后,这会将所有符号映射到当前命名空间

      (require 'clojure.contrib.math)
      (refer 'clojure.contrib.math)
      
      (sqrt 2)
      (expt 2 3)
      

      有关详细介绍,您可以阅读 wikibooks 文章。 http://en.wikibooks.org/wiki/Clojure_Programming/Concepts#Refer_and_Use

      【讨论】:

      • 优秀。我也可以无缝地使用嵌入到 Java 应用程序中的 Clojure 脚本(我使用的是 Netbeans,Clojure 和 Clojure-contrib 作为“库”访问)!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-08
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 2012-11-20
      相关资源
      最近更新 更多