2012-04-24 93 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,第二個元素的類型與傳遞給函數的列表的類型相同。

(這裏不是母語爲英語的人,對不起:))