【发布时间】:2020-02-25 00:16:23
【问题描述】:
在朱莉娅中,
Array{Int32, 1} <: Array{Integer, 1}
计算为false,但是
Array{Int32, 1} <: (Array{T, 1} where T <: Integer)
计算为true,因为Int32 <: Integer 为真。
在我看来,第一个和第二个表达式传达了相同的想法,并且应该等效地评估。此外,第一个表达式不太混乱。为什么 Julia 的语法将前者评估为假,而将后者评估为真,有什么原因吗?这种行为是否有一些深刻而好的方面,或者这是对数组/类型系统开发方式的疏忽?
【问题讨论】:
标签: julia