在我的repl中,我从一个具有函数parse
的文件中加载了ns。所以(use 'demo.one)
在repl中输入时效果很好。
现在我有另一个具有相同名称功能的ns。当我输入这个`(使用'demo.two)时,它给了我一个错误。
如何阻止ns中的函数名称冲突?在上面我想使用第二个ns中的函数。
谢谢
答案 0 :(得分:2)
您可以通过require
命名空间来避免冲突,然后完全限定您的函数调用。
e.g。
(require 'demo.two)
(demo.two/parse "foo")
答案 1 :(得分: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