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

时间:2016-01-17 12:18:44

标签: clojure namespaces

我想在一个项目中使用泛音和跷跷板命名空间。然而,当我加载它们时,似乎有一个名为(select)的共享函数,它存在于seesaw.core和overtone.core((seesaw.core / select)(overtone.core / select))中,为什么我可以' t加载项目中的两个名称空间。我怎么能想出这个?将[{1}} refer关键字与:exclude关键字一起使用?

1 个答案:

答案 0 :(得分:3)

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

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

(some/f)

(a/f)

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