我有一段代码,其中我正在使用df %>%
arrange(gr, c(1, -1)[match(gr, unique(gr))] * a)
和JuMP
,并且它们都导出Mamba
。
当我第一次运行代码时,我得到警告:Model
,因此会引发以下错误:
both Mamba and JuMP export "Model"; uses of it in module QuantumRelay must be qualified
我需要两个软件包Mamba都用于从概率分布中提取MCMC仿真,而另一个用于线性编程。
您可以在此链接上找到软件包或代码:
https://github.com/marouanehanhasse/Quantum_Relay
检查ERROR: UndefVarError: Model not defined
模块。
提前致歉,因为我在该社区还很陌生,所以无法在此处发布代码。
答案 0 :(得分:0)
在Julia中,using
和import
关键字用于将来自另一个模块的绑定引入当前作用域。
using M
将所有从M
导出的绑定直接引入作用域。如果M
定义并导出了函数my_function
,则可以在my_function
语句之后直接在代码中使用using
。import M
仅导入绑定M
,因此您将使用M.my_function
。如果要避免像Mamba
和JuMP
,import
那样使用名称冲突,请至少使用其中之一,然后指定限定名称Mamba.Model
, JuMP.Model
。从主观上讲,这也使您的代码更清晰,以供不熟悉这两个软件包及其导出内容的人员阅读。
在the Julia documentation中可以找到使用using
和import
的详细信息和其他方式。