在我的 repl 中,我从一个具有函数的文件中加载了 ns parse
。所以(use 'demo.one)
在输入 repl 时工作正常。
现在我有另一个具有相同名称的函数的 ns。当我输入这个`(使用'demo.two)时,它给了我一个错误。
如何防止两个 ns 中的函数名称冲突?在上面我只想使用第二个 ns 的函数。
谢谢
在我的 repl 中,我从一个具有函数的文件中加载了 ns parse
。所以(use 'demo.one)
在输入 repl 时工作正常。
现在我有另一个具有相同名称的函数的 ns。当我输入这个`(使用'demo.two)时,它给了我一个错误。
如何防止两个 ns 中的函数名称冲突?在上面我只想使用第二个 ns 的函数。
谢谢
还有一种方法可以给命名空间起别名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
您可以通过命名空间来避免冲突require
,然后完全限定您的函数调用。
例如
(require 'demo.two)
(demo.two/parse "foo")