我是否可以使用一个成员的类是浮点数组或像
那样的浮点数组type testArr(data: float[],...) =
member x.data = data
member x.others = ...
new( data: float[][],...) = ???
我试着定义
type Value = Value1D of float[] | Value2D of float[][],
然后定义type testArr(data: Value,... )
,但我需要为type Value
重写大量代码以重复array
类型的方法,例如.Item
等。或者,如何我是否定义了从type Value
继承的'a[]
,但仅将元素类型'a
限制为float
或float[]
?
答案 0 :(得分:1)
我不完全确定你为什么需要这个,但你可以用私有构造函数定义一个TestArr
类,并添加两个静态方法来创建两个类型(float[]
和{{1} })你想要允许:
float[][]
总是使用数组数组,但是只有一个元素用于1D场景,正如Gabe在评论中所建议的那样听起来像是一个更好,更简单的替代方案。