hum, good point. 
however, the same applies if I change this:

type Myt{ T<:Real}
    n :: Int64
    chain :: Array{T,1}
    function Myt(n,z::T) 
        x = [z for i=1:n]
        new(n,x)
    end
end

or is that not what you meant? I basically want to fill array "chain" with 
several copies of type T.

On Wednesday, 11 June 2014 16:13:47 UTC+1, John Myles White wrote:
>
> Your type’s definition doesn’t seem to depend upon T in any way. Keep in 
> mind that the type is really just the first two lines of your code:
>
> type Myt{T <: Real}
>   n::Int64
>   chain::Array
> end
>
> The constructor isn’t part of the type itself, so the dependency on T 
> needs to occur in the type.
>
>  — John
>
> On Jun 11, 2014, at 8:04 AM, Florian Oswald <[email protected] 
> <javascript:>> wrote:
>
> Hi,
>
> I'm trying to understand why this is not working:
>
> type Myt{ T<:Real}
>     n :: Int64
>     chain :: Array
>     function Myt(n,z::T) 
>         x = [z for i=1:n]
>         new(n,x)
>     end
> end
>
> i get the error
> julia> Myt(10,18.0)
> ERROR: no method Myt{T<:Real}(Int64, Float64)
>
> I thought that was very similar to the point example on the manual?
>
> type Point{T<:Real}
>   x::T
>   y::T
>
>   Point(x::T, y::T) = new(x,y)end
>
>
> thanks
>
>
>

Reply via email to