Hi,
I am trying to append some values into an initialized array. But first elements of this array is not the first appended value. I did like follows:
#initialized an array
a = Array{Float64,1}
#append into a
a = [a;5;6]
print(a)
The output is as follows:
2-element Array{Any,1}:
Array{Float64,1}
5
6
But I don’t need Array{Float64,1}
as my first element? I just need an array with two elements
2-element Array{Any,1}:
5
6
I can do it by using a[2:end]
but is there any other method to solve this issue?
a = Array{Float64,1}
doesn’t do what you think it does, as it assigns the type Array{Float64,1}
to a
. What you’re probably looking for is a = Array{Float64,1}()
, so you’re actually calling the constructor. A shorter way to achive this would also be a = Float64[]
. Are you also sure that you want to use the non-inplace vcat
(eg. [a; b]
)? You might want to have a look at push!
or append!
.
2 Likes
@simeonschaub: Thanks a lot for your reply. I am a beginner and still, I have some confusions with variable initializations because I just moved from MATLAB to julia.