Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在clojure中运行跷跷板和泛音库_Clojure_Namespaces - Fatal编程技术网

在clojure中运行跷跷板和泛音库

在clojure中运行跷跷板和泛音库,clojure,namespaces,Clojure,Namespaces,我想在一个项目中使用泛音和跷跷板名称空间。然而,当我加载它们时,似乎在seesaw.core和overtone.core((seesaw.core/select)(overtone.core/select))中都存在一个名为(select)的共享函数,为什么我不能在项目中同时加载这两个名称空间。我怎么能想到这个?使用reference和:exclude关键字是否是一个选项?当许多教程和示例使用use函数或表单中的use子句时,在实际代码中最好不要这样做。优选形式如下: (ns foo.bar

我想在一个项目中使用泛音和跷跷板名称空间。然而,当我加载它们时,似乎在seesaw.core和overtone.core((seesaw.core/select)(overtone.core/select))中都存在一个名为(select)的共享函数,为什么我不能在项目中同时加载这两个名称空间。我怎么能想到这个?使用
reference
:exclude
关键字是否是一个选项?

当许多教程和示例使用
use
函数或
表单中的
use
子句时,在实际代码中最好不要这样做。优选形式如下:

(ns foo.bar
  (:require [a.something :as some]
            [b.another :as a]))

(some/f)

(a/f)

函数完全不同且明确,这也使代码更易于阅读和重构-您可以清楚地指示所使用的定义来自何处。

那么这是真的吗:因为
use
也会加载函数(vars)的名称空间规范它使变量相互冲突,阻止命名空间正常加载,而
require
dosn不这样做吗?这就是为什么它与require一起工作?