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

标签 clojure namespaces

我想在一个项目中使用泛音和跷跷板命名空间。但是,当我加载它们时,似乎有一个名为 (select) 的共享函数存在于 seesaw.core 和 overtone.core ((seesaw.core/select) (overtone.core/select)) 中,为什么我无法加载项目中的两个命名空间。我怎么能想出这个?将使用 refer:exclude关键字一个选项?

最佳答案

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

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

(some/f)

(a/f)

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

关于clojure - 在 clojure 中运行跷跷板和泛音库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34838217/

相关文章:

clojure - 如何使用clojure-liberator实现用户认证?

javascript - 为什么在声明子 namespace 时不能使用 var?

python - 我该如何在python中出现名称错误

Clojure: `fn` 是特殊符号、宏还是特殊形式?

clojure - 如何获取正在运行的 REPL 的 nREPL 端口?

clojure - 从循环中返回一个值

c# - 命名空间外的私有(private)类

c# - 带有报告服务命名空间枚举的 XML 没有产生任何结果

c# - 类库引用问题

functional-programming - 在这个简单的例子中演示一流的功能