2017-10-21 2 views
1

wir vier verschiedene Klassen von Punkten definieren:unveränderlich vs Struktur und Typ vs wandelbaren Struktur in Julia

type PointType 
    x 
    y 
end 

mutable struct PointMut 
    x 
    y 
end 

immutable PointImmut 
    x 
    y 
end 

struct PointStruct 
    x 
    y 
end 

Was ist der Unterschied zwischen PointType und PointMut? Warum sollte jemand einen über den anderen wählen?

Auch was ist der Unterschied zwischen PointImmut und PointStruct?

Ich neige dazu zu glauben, dass sie nur Synonyme sind, aber ich fand das nicht explizit angegeben, also frage ich mich, ob es irgendwo einen subtilen Unterschied gibt.

+0

["In 0.6, unveränderlich und Typ sind weiterhin als Synonyme ohne eine Verwarnungswarnung erlaubt."] (Https://github.com/JuliaLang/julia/blob/master/NEWS.md#language-changes-1) – Gnimuc

Antwort

10

type und immutable gilt bis zu julia 0,6, mutable struct und struct sind die Namen der gleichen Objekte in julia 0,6 und nach vorn. mutable in mutable struct bedeutet, dass die Felder ändern können - die tatsächlich ziemlich selten verwendet wird, so dass unveränderlich ist die Standardeinstellung. sind langsamer als struct s.

+0

Danke, es ist nicht trivial, diese Informationen zu erhalten. – tst

+0

das ist, weil es veraltet ist. Die Tatsache, dass "Typ" und "unveränderlich" jemals existierten, wird bald etwas für die Geschichtsbücher sein. –

Verwandte Themen