I have some trouble understand your question.
On Fri, Sep 25, 2015 at 8:22 AM, Roger Luo <[email protected]> wrote:
> Thanks,I've read about the arrays,but just don't know how to define some
> existed type.
You cannot redefine a type. Or do you mean how are certain existed
types implemented? For that you can just check out the source code.
> though a type may be defined as:
> type a{T<:Integer}<:Real
> xxx
> end
>
> but that's will work in my function.I tried to pass different types into a
> function, so I asked this question.
> still do not understand why can define a existed type become a subtype of
> some other type?
You cannot change the type inheritance of an existing type, period. As
Mauro pointed out, you are probably looking for something else. It
would be better if you can post the original problem you are trying to
solve.
>
> 2015-09-25 15:11 GMT+08:00 Mauro <[email protected]>:
>>
>> Julia's parametric types are invariant (except tuples). To figure out
>> what that means have a read through
>>
>> http://docs.julialang.org/en/release-0.4/manual/types/#parametric-composite-types
>>
>> > How to make Array{BigFloat,1}<:Array{Real,1}?
>>
>> This is always false (that is invariance). But presumably you want a
>> method which takes any Array with eltype<:Real, try something like:
>>
>> julia> f{T<:Real}(ar::Array{T,1}) = typeof(ar)
>> f (generic function with 1 method)
>>
>> julia> f(Array(BigFloat, 2))
>> Array{BigFloat,1}
>
>