In 0.4, with call overloading, it would now be possible to have a constructor Vector(Int,5) (this is not possible in 0.3). You could submit a pull request to add that feature.
On Wed, 2015-02-04 at 11:16, Kristoffer Carlsson <[email protected]> wrote: > Ah, yes you are right about the Array{Int, 2} stuff. > > The reason I want to do this at all is because I have functions taking > Vectors as arguments but then I have to create the vectors that I want to > pass into the function using the Array command. It would somehow feel more > unified if I could create my Vectors with the Vector command and pass them > into my function that accepts a Vector. Vectors everywhere :) > > Thank you for your help. > > > On Wednesday, February 4, 2015 at 11:08:55 AM UTC+1, Milan Bouchet-Valat > wrote: >> >> Le mercredi 04 février 2015 à 02:00 -0800, Kristoffer Carlsson a écrit : >> >> If you want to allocate an Array you can simply write: >> >> >> >> julia> Array(Int, 5, 1) >> 10x1 Array{Int64,2}: >> 2187293504 >> 2151034912 >> 2195818528 >> 2147516504 >> >> >> >> Now, Vector is a short form for Array{T, 1}. I would then expect to be >> able to allocate a vector using something like this: >> >> >> >> julia> Vector(Int, 5) >> ERROR: MethodError: `convert` has no method matching convert(::Type{Array{ >> T,1}}, >> ::Type{Int64}, ::Int64) >> This may have arisen from a call to the constructor Array{T,1}(...), >> since type >> constructors fall back to convert methods in julia v0.4. >> Closest candidates are: >> convert{T}(::Type{Nullable{T}}, ::T) >> convert{T}(::Type{T}, ::T) >> convert{T}(::Type{FloatRange{T}}, ::FloatRange{T<:FloatingPoint}) >> ... >> >> >> >> Could someone help me with the syntax? Do you have to use the Array form >> every time you want to initiate a Arrat{T,1} with a certain length? >> >> As you can see from the printed output, Array(Int, 5, 1) creates an >> Array{Int, 2}, which is different from a Vector. If you want a Vector, call >> Array(Int, 5). I've often tried typing Vector(Int, 5) too, and wished it >> existed, but as it would be redundant with Array(), I'm not sure it's a >> good idea to add it. >> >> Regards >>
