【发布时间】:2019-04-05 08:37:40
【问题描述】:
我有一个非常简单的问题。是否可以在 Julia 中按需加载模块。也就是说,模块是否可以在实际需要时加载,而不是在顶层的“解析时”加载。
我想到的用例场景是我有一组代码可以使用 PyPlot 进行一些绘图,但代码远非总是执行。
目前这意味着我在顶层有一个像using PyPlot 这样的语句,这需要相当长的时间来加载。
(是的,我知道:不应该经常重启 Julia,bla bla bla ......但这是一个令人烦恼的点)
有没有办法确保仅在实际需要时才加载 PyPlot?
最简单的想法是将using PyPlot 包含在实际执行绘图的函数中
function my_plot()
using PyPlot
plot(1:10,1:10)
end
但这会导致语法错误:
ERROR: syntax: "using" expression not at top level
那么,还有其他方法可以实现吗?
【问题讨论】:
-
你可以在全局范围内
evalusingexpr。 -
@Gnimuc 感谢您的评论,但我不明白您的意思。你能举个例子吗?
-
在
using PyPlot之前添加@eval
标签: matplotlib julia