2014-06-25 17 views
6

Supponiamo di disporre di una matrice di tipo composito in Julia. Capisco che non posso semplicemente assegnare valori all'array poiché i suoi elementi non sono definiti. Per esempio il codiceMatrici non inizializzate in Julia

type struct 
    u::Int64 
    v::Int64 
end 

X = Array(struct, 100) 
X[10].u = 3 

genererà questo errore:

ERROR: access to undefined reference 
in getindex at array.jl:277 
in include at boot.jl:238 
in include_from_node1 at loading.jl:114 

Qual è il modo standard per affrontare questo? Per ora sto solo facendo qualcosa del tipo:

samples = Array(Sample1d, num_samples) 
fill!(samples, Sample1d(0, 0, 0)) 
samples[i] = ... 

Esiste un modo più conciso o giuliano per farlo?

risposta

1

È possibile assegnare valori alle posizioni non inizializzate negli array. Non puoi semplicemente estrarre i valori dalle posizioni non inizializzate.

5

È possibile utilizzare fill per creare e compilare una matrice, allo stesso tempo:

type struct 
    u::Int 
    v::Int 
end 

struct() = struct(0, 0) 
X = fill(struct(), 100) 
X[10].u = 3 
Problemi correlati