有没有类似于MATLAB的"clear“的语法,比如如果我有一个全局变量"a”。我该怎么摆脱它呢?我如何做模拟
clear a发布于 2014-03-26 22:08:32
点击这里查看这个问题的最新答案:https://docs.julialang.org/en/v1/manual/faq/#How-do-I-delete-an-object-in-memory%3F
从文档中检索:
MATLAB Julia没有类似
的clear函数;一旦在Julia会话中定义了一个名称(从技术上讲,在module Main中),它总是存在的。
如果您关心内存使用情况,您可以始终将对象替换为使用较少内存的对象。例如,如果A是一个不再需要的千兆字节大小的数组,则可以使用A= 0来释放内存。内存将在下次运行垃圾收集器时释放;您可以使用gc()强制执行此操作。
发布于 2015-06-08 21:07:04
从0.3.9开始,可以通过workspace()函数清除所有全局变量(获得一个新的工作区)。
也可以通过使用LastMain (例如LastMain.foobar)从最后一个工作区获取变量。
因此,目前做你想做的事情的唯一方法是清除所有东西,并将除了你想要的变量之外的所有东西转移到你的新工作区。
发布于 2017-09-08 21:39:40
Julia 0.6 < 1.0
在Julia 0.6中。您可以通过调用clear!()来删除该变量并释放其内存。
你必须呼叫放行!在变量的符号名称上:
julia> x = 5
5
julia> sizeof(x)
8
julia> clear!(:x)
julia> sizeof(x)
0正如DFN所指出的,这实际上不会删除对象,而是将它们设置为nothing。这对于从您的工作区释放内存非常有用,因为您可以“删除”非常数对象的内存占用。
Julia 1.0+
这在Julia 1.0+中不起作用。如果您使用的是1.0+,则必须将对象设置为Nothing,并让垃圾收集器从那里获取它。这来自官方文档here。
https://stackoverflow.com/questions/22647105
复制相似问题