Le dimanche 22 novembre 2015 à 14:08 -0800, Martin Kuzma a écrit :
>
>
> Hi, i am new to Julia and i am little bit confused about type
> conversion.
> In the docs is written following:
>
> When appended to a variable in a statement context, the :: operator
> means something a bit different: it declares the variable to always
> have the specified type, like a type declaration in a statically
> -typed language such as C. Every value assigned to the variable will
> be converted to the declared type using convert()
>
> So I tried a little experiment.
>
> a::Array{Cdouble, 2} = [1 2 3;4 5 6] #this throws ERROR: TypeError:
> typeassert: expected Array{Float64,2}, got Array{Int64,2}
> in eval at ./boot.jl:263
>
> experiment no. 2:
> convert(Array{Cdouble,2}, [1 2 3;4 5 6]) # this outputs 2x3
> Array{Float64,2}:
> 1.0 2.0 3.0
> 4.0 5.0 6.0
> So the conversion works.. I thought, that the conversion will be
> automatic, but it isn't. What am I getting wrong?
This works only inside of a function, not directly at the REPL. Maybe
the docs could be clarified.
Regards
> Thanks Martin