2012-04-24 62 views

回答

5

这意味着[a]中的元素必须是Eq类型类型的,这意味着它们必须是相等的可测试的。

+2

Equatable,not comparable。 “Ord”更强。 – 2012-04-24 13:44:10

+0

好的,谢谢你的纠正。我没有意识到这一点。 – 2012-04-24 13:46:36

11

这是关于在定义[a] -> [(Int,a)]中使用的类型a的约束:它说它必须为Eq类型类定义一个实例。基本上,带有Eq实例的类型支持平等和不平等运算符(==)(/=)

有关这里的特定类的更多信息,请登录learnyouahaskell.com。在nuce中,类型类与OOP的接口有些相似。

1

类型的项目a必须是方程式 typeclass,如前所述。该类型类定义了可与其他类型的相等性比较的类型,有个“==”操作符/功能

这意味着你的函数接受作为其唯一参数的“一”项目的列表

[a] is a list of types a 

并返回(Int,a)对的列表,即一个2元组列表,其中元组中的第一个元素是一个Int,第二个元素的类型与传递给函数的列表的类型相同。

(这里不是母语为英语的人,对不起:))