Есть ли какой-либо синтаксис, который делает что-то похожее на «ясно» MATLAB, т. Е. Если у меня есть глобальная переменная «a». Как я могу избавиться от него? Как сделать аналоговый сигналКак очистить или удалить глобальное в julia?
clear a
Есть ли какой-либо синтаксис, который делает что-то похожее на «ясно» MATLAB, т. Е. Если у меня есть глобальная переменная «a». Как я могу избавиться от него? Как сделать аналоговый сигналКак очистить или удалить глобальное в julia?
clear a
В настоящее время этого не делается. Существует, однако, вопрос, чтобы отслеживать эту функцию:
Смотрите последний ответ на этот вопрос здесь: http://docs.julialang.org/en/latest/manual/faq/#how-do-i-delete-an-object-in-memory
Получено из документации:
Julia does not have an analog of MATLAB’s clear function; once a name is defined in a Julia session (technically, in module Main), it is always present.
If memory usage is your concern, you can always replace objects with ones that consume less memory. For example, if A is a gigabyte-sized array that you no longer need, you can free the memory with A = 0. The memory will be released the next time the garbage collector runs; you can force this to happen with gc().
По состоянию на 0,3 .9, можно очистить все глобальные переменные (получить новое рабочее пространство) через функцию workspace().
Также можно получить переменные из последней рабочей области, используя LastMain (например, LastMain.foobar).
Так что в настоящее время единственный способ сделать то, что вы хотите, - это очистить все и передать все, кроме переменной, которую вы хотите создать в новом рабочем пространстве.
В Julia 0.6 (не уверен, поддерживает ли эта версия более старая версия или нет). Вы можете удалить переменную и освободить ее память, вызвав clear!()
.
Вы должны позвонить ясно! на символическом имени переменной:
julia> x = 5
5
julia> sizeof(x)
8
julia> clear!(:x)
julia> sizeof(x)
0
Как DFN отметил, что это не будет фактически удалить объекты, но установить их на nothing
. Это полезно для освобождения памяти из рабочей области, поскольку вы можете «удалить» объем памяти для непостоянных объектов.
Абсолютно clear! (: X) не работает с julia 0.6.0 в блокноте (IJulia)! В качестве альтернативы вы можете использовать x = 0.
Это интересно, но, к сожалению, оно не полностью очищено. Значение просто устанавливается на 'nothing'. Например, вы не можете выполнить 'julia> const x = 3', потому что тогда вы получите' ERROR: не можете объявить x константой; он уже имеет значение'. – DNF
Достаточно честный. Я решил, что это полезно для освобождения некоторой памяти от не постоянных объектов. – niczky12
Это абсолютно полезно, и, я думаю, это близко к официальному решению, которое есть. У него просто эта слабость. И это было ново для меня :) – DNF