参数类型在Julia中无法正常工作

时间:2015-04-30 22:56:16

标签: julia

我对Julia很陌生,这让我疯狂:

type MyType{T<:Number}
  x::T
  y::T
end
Float64 <: Number # this is true
MyType{Float64} <: MyType{Number} #this is for some reason false

我当然希望,如果我通过使用抽象类型作为参数创建两个从相同参数类型派生的具体类型,另一个通过使用具体类型来创建,该具体类型是用于第一个的抽象类型的子类型派生,使用具体类型派生的类型将是使用抽象类型派生的类型的子类型。

这句话花了我一段时间才撰写。希望它是可理解的。

1 个答案:

答案 0 :(得分:7)

这是预期的行为。

朱莉娅中的类型是不变的而不是协变或逆变。

有关更详细的说明,请参阅本手册的此部分:http://julia.readthedocs.org/en/latest/manual/types/#man-parametric-types

相关问题