是否可以重命名已加载的命名空间?
在我的情况下,我有带命名空间的Clojure脚本,比方说main-xxx
,以及许多使用main
命名空间的其他脚本(无法修改它们,main
和{{ 1}}命名空间具有相同的功能,但具有不同的实现。)
我想做的是制作类似main-xxx
的内容 - 但为了使其正常工作,我必须在每个脚本中调用(alias 'main 'main-xxx)
(无法完成)。
有什么想法吗?
答案 0 :(得分:1)
它不会按照你想要的方式工作。您可以在每个命名空间中调用别名(您只需在每个命名空间中调用它),但别名不会影响别名之前定义的函数 - 它们的绑定已经引用了原始命名空间的变量。您需要实际重新定义名称空间的变量,以便更改通过它们调用的函数。