typealias and unions
It is often convenient to introduce a new name for an already expressible type, and for this, Julia provides a typealias
mechanism.
In version 1.0 onward, the syntax has changed and now uses the following form:
julia> const Vct{T} = Array{T,1} Array{T,1} where T julia> const Mtx{T} = Array{T,2} Array{T,2} where T
Type aliases are useful when defining an umbrella type as a union of simpler ones.
Union types are extensively used in Base
, and there are many examples in the code listing here:
julia>
const Signed64 = Union{Int8, Int16, Int32, Int64} Union{Int16, Int32, Int64, Int8}julia>
const Unsigned64 = Union{UInt8, UInt16, UInt32, UInt64} Union{UInt16, UInt32, UInt64, UInt8}julia>
const Integer64 = Union{Signed64,Unsigned64} Union{Sigend64,Unsigned64}
Recall that in our vehicle type, we provided contact details such as name, email, and phone type. However, alternatively, it might be more appropriate to use a postal address. To accommodate...