追加一個元素在朱莉婭數組的數組是這樣的:朱莉婭:追加一個元素自定義類型
v = Array{Int32, 1}(0)
append!(v, 1)
append!(v, 2)
println(v) # prints: Int32[1,2]
當我嘗試這與自定義類型
type Node
label::String
value::Int32
end
nodes = Array{Node, 1}(0)
append!(nodes, Node("a", 42))
我得到以下錯誤:
ERROR: LoadError: MethodError: no method matching length(::Node)
我想我不得不「執行」的length
方法,但不知道怎麼辦。
或者,只要使用'push!',這看起來是你想要做的。 –
有趣的是,'append!(v,1)'工作雖然...可能是爲了方便,但根據append!的文檔,它不應該......不確定這是否應該被報告爲錯誤或不... :) –
嗯,我明白了,'append!(v,1)'起作用是因爲'length(1)'返回1。 ('length(x :: Number)= 1;'在第14行的numbers.jl中定義) –