ein Element in ein Array in Julia Anfügen funktioniert wie folgt:Julia: ein Element anhängen auf ein Array von benutzerdefinierten Typen
v = Array{Int32, 1}(0)
append!(v, 1)
append!(v, 2)
println(v) # prints: Int32[1,2]
Wenn ich versuche, dies mit einem benutzerdefinierten Typ
type Node
label::String
value::Int32
end
nodes = Array{Node, 1}(0)
append!(nodes, Node("a", 42))
ich der folgende Fehler:
ERROR: LoadError: MethodError: no method matching length(::Node)
ich nehme an, ich habe zu ‚implementieren‘ die length
Methode, aber nicht wissen, wie.
oder, einfach 'push!' Verwenden, was es scheint, dass du versuchst, es trotzdem zu tun. –
es ist interessant, dass 'append! (V, 1)' funktioniert obwohl ... könnte es für die Bequemlichkeit, aber nach der Dokumentation für 'append!' Sollte es nicht ... nicht sicher, ob dies als a gemeldet werden sollte Fehler oder nicht ... :) –
hm, ich sehe, 'append! (v, 1)' funktioniert, weil 'length (1)' '' 'zurückgibt. ('length (x :: Number) = 1;' definiert in numbers.jl Zeile 14) –