Julia – 115 – domande tipiche, FAQ

Continuo da qui, copio qui.

Le FAQ si usano solo quando non si sa più cosa fare, imho. Preventivamente non mi sembra che abbiano senso. Ma quelle davvero tipiche –cioè che mi sembrano suggerimenti a prescindere– le riporto. Non si sa mai. E comunque c’è sempre Stack Overflow.

Come faccio a cancellare un oggetto in memoria?
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().

Come faccio a ridefinire un tipo?
Types in module Main cannot be redefined. Segue spiegazione lunga e specifica.

Posso usare using o import in una funzione?
No, you are not allowed to have a using or import statement inside a function. If you want to import a module but only use its symbols inside a specific function or set of functions, you have two options:

1. Use import:

import Foo
function bar(...)
    # ... refer to Foo symbols via Foo.baz ...
end

This loads the module Foo and defines a variable Foo that refers to the module, but does not import any of the other symbols from the module into the current namespace. You refer to the Foo symbols by their qualified names Foo.bar etc.

2. Wrap your function in a module:

module Bar
export bar
using Foo
function bar(...)
    # ... refer to Foo.baz as simply baz ....
end
end
using Bar

This imports all the symbols from Foo, but only inside the module Bar.

Qual è la differenza tra using e importall?
There is only one difference, and on the surface (syntax-wise) it may seem very minor. The difference between using and importall is that with using you need to say function Foo.bar(.. to extend module Foo‘s function bar with a new method, but with importall or import Foo.bar, you only need to say function bar(... and it automatically extends module Foo‘s function bar.

If you use importall, then function Foo.bar(... and function bar(... become equivalent. If you use using, then they are different.

Posso usare una versione release, beta o nightly di Julia?
You may prefer the release version of Julia if you are looking for a stable code base. Releases generally occur every 6 months, giving you a stable platform for writing code. Sicuro, io non leggo nemmeno il resto.

Quando vengono rimosse le funzioni deprecate?
Deprecated functions are removed after the subsequent release. For example, functions marked as deprecated in the 0.1 release will not be available starting with the 0.2 release.

🤢

Posta un commento o usa questo indirizzo per il trackback.

Trackback

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: