有没有办法撤消朱莉娅的“使用”?

时间:2016-03-27 15:49:01

标签: module julia

假设在朱莉娅控制台中我做了

using Gadfly

然后意识到我实际上想要使用不同的绘图命令

using Winston

似乎plot()仍将使用Gadfly版本。有没有办法停止使用Gadfly?

using !Gadfly
!using Gadfly
unuse Gadfly

那样的东西?

2 个答案:

答案 0 :(得分:7)

正如其他人所指出的那样,你无法在Julia中卸载软件包。唯一的方法是重启Julia repl。但是,如果您想使用套餐中的特定功能,可以Winston.plot()Gadfly.plot()。因此,将确保您从所需的命名空间中使用正确的功能。

答案 1 :(得分:7)

正如@Jubobs链接中所提到的,目前没有办法选择性地停止使用包,或者有选择地从REPL中删除定义(如果您熟悉它,则类似于Matlab的clear命令) 。所以简短的回答是否定的。

但是,您可以使用Gadfly.plot()Winston.plot()来引用特定模块中的功能。如果您已编写代码,这不能为您提供问题的解决方案,但它仍然是未来工作的选项。

workspace()命令,但会从Main模块中移除所有内容,并会导入新的Julia环境。 将失去你定义的所有函数和变量......所以明智地使用它

正如@Matt B所指出的,你实际上输掉你的函数和变量。它们被移动到名为LastMain的模块。因此,如果我定义了一个名为myfunc()的函数,并且我调用了workspace(),那么尝试在REPL上调用myfunc()将导致UndefVarError。但是,您仍然可以通过调用LastMain.myfunc()来访问此功能。在您致电workspace()之前,在REPL中定义的任何内容都是如此。