1

在我的 repl 中,我从一个具有函数的文件中加载了 ns parse。所以(use 'demo.one)在输入 repl 时工作正常。

现在我有另一个具有相同名称的函数的 ns。当我输入这个`(使用'demo.two)时,它给了我一个错误。

如何防止两个 ns 中的函数名称冲突?在上面我只想使用第二个 ns 的函数。

谢谢

4

2 回答 2

2

还有一种方法可以给命名空间起别名require

你可以:as使用:require

(ns your.namespace
(:require [demo.one :as one])
(:require [demo.two :as two]))

(one/parse "foo") ; use the namespace demo.one parse function
(two/parse "foo") ; use the namespace demo.two parse function
于 2013-03-21T09:01:59.677 回答
2

您可以通过命名空间来避免冲突require,然后完全限定您的函数调用。

例如

(require 'demo.two)
(demo.two/parse "foo")
于 2013-03-21T07:17:14.477 回答