mis*_*tor 3 f# type-constraints parametric-polymorphism
从MSDN文档中,签名List.max是:
List.max : 'T list -> 'T (requires comparison)
Run Code Online (Sandbox Code Playgroud)
我的问题是:
'T支持比较操作?requires指定类型约束的关键字吗?如果是,我可以指定所有类型的约束吗?看看Don Syme的博客:F#中的平等和比较约束
您可以将这些约束视为类型类轻量级的形式,正则覆盖Equals/GetHashCode并且在这种情况下实现IComparable足以使用它.
对你的问题:
PS:(需要比较)是通过<'a when 'a : comparison>在通用定义的上下文中定义来定义的
type MyType<'a when 'a : comparision>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
298 次 |
| 最近记录: |