首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Incanter和Clojure汤一起使用

将Incanter和Clojure汤一起使用
EN

Stack Overflow用户
提问于 2015-02-02 04:12:21
回答 1查看 281关注 0票数 1

我在学克洛尔--这很有趣!我试图在同一个文件中使用Incanter和Clojure Soup:

代码语言:javascript
复制
(require '[jsoup.soup :as soup])
(use '(incanter core stats io charts datasets))

我得到了以下错误:

代码语言:javascript
复制
CompilerException java.lang.IllegalStateException: $ already refers to: #'jsoup.soup/$ in namespace: user, compiling

我想我明白为什么,但我如何解决这个问题呢?感谢这个网站和所有的大师在它!

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-02 07:53:54

如果您只实际使用其中一个$函数,则可以排除另一个函数。

代码语言:javascript
复制
(ns myproject.example
   (:require [jsoup.soup :as soup]
             [incanter [core :refer :all :exclude [$]]
                       [stats :refer :all] 
                       [io :refer :all] 
                       [charts :refer :all] 
                       [datasets :refer :all]]))

或者您也可以采用显式命名您想要在您的命名空间中引用的vars的方法,并通过namespace-alias/function显式地调用其他的vars,它看起来更像这样:

代码语言:javascript
复制
(ns myproject.example
   (:require [jsoup.soup :as soup]
             [incanter [core :refer [$ ... and others here ...] 
                             :as incanter]
                       [stats :as stats] 
                       [io :as io] 
                       [charts :as charts] 
                       [datasets :as dataset]]))

使用其他名称空间的use方法在现代clojure代码中是不允许的,并且已经包含在refer表单中,因此我在这些示例中使用该表单。还强烈鼓励将引用表单放在命名空间声明中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28271008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档