Consente di dire che assegnare un tipo di Person
in Julia:tipi Ridefinire a Julia: ridefinizione invalido di costante
type Person
name::String
male::Bool
age::Float64
children::Int
end
function describe(p::Person)
println("Name: ", p.name, " Male: ", p.male)
println("Age: ", p.age, " Children: ", p.children)
end
ted = Person("Ted",1,55,0)
describe(ted)
che sarà in uscita con la funzione:
Name: Ted Male: true
Age: 55.0 Children: 0
Poi ho modificare le caratteristiche per tipo Person
dove ho aggiunto una nuova categoria per il tipo eyes
type Person
name::String
male::Bool
age::Float64
children::Int
eyes::String
end
ted = Person("Ted",1,55,0,brown)
Se corro la funzione ora ottengo un errore
Error evaluating REPL:
invalid redefinition of constant Person
in include_string at loading.jl:97
Qual è il modo migliore per ovviare a questo, quando lo sviluppo di nuovo codice? oltre a creare un modulo come suggerito nel julia FAQ
Perché non vuoi creare un modulo? È la funzione [workspace()] (http://docs.julialang.org/en/release-0.3/stdlib/base/#Base.workspace) per cancellare il modulo 'Main' in modo più in linea con quello che stai cercando ? –
@ToivoHenningsson Sì, questo è quello che sto cercando. Devi aggiungerlo sopra il tuo script. Puoi metterlo nella risposta e io lo verificherò. Grazie! – ccsv
Questo è particolarmente frustrante per la modifica del codice in [JuliaBox] (https://www.juliabox.org/), dove rieseguire una cella che definisce un tipo produce un errore ...:/ – NHDaly