如何在不导入的情况下在 Julia 中使用包?

Ale*_*hin 7 julia

如果您编写它将所有方法导入当前范围。

using Plots
plot(rand(5,5))
Run Code Online (Sandbox Code Playgroud)

我只需要一种方法,是否可以编写相同的代码但不使用using或导入任何内容,我不想用Plots导出污染当前范围,也不介意每次使用它时都用包名作为前缀。

Plots.plot(rand(5,5))
Run Code Online (Sandbox Code Playgroud)

Dav*_*ela 7

import将没有任何导出名称的模块带入范围。您仍然可以使用限定名称来引用导入模块中的名称:

import Plots
Plots.plot(rand(5,5))
Run Code Online (Sandbox Code Playgroud)

为避免使用限定名称,您可以创建一个新名称的绑定:

const plot_from_plots = Plots.plot
Run Code Online (Sandbox Code Playgroud)


GBl*_*ett 6

根据Julia 网站,您应该能够:

using Plots: plot
Run Code Online (Sandbox Code Playgroud)

这只会带来plot()范围


有关如何为方法创建别名,请参阅Julia 中的模块别名

  • 或者更简单地说:“导入图;const myplot = Plots.plot` (编辑:正如大卫在另一个答案中所示)。 (3认同)