我一直在阅读七周中的七种语言书籍,并正在与Haskell合作。Haskell'无法与实际类型匹配预期类型'
我的问题挣扎:
写那种需要一个列表和比较它的两个参数,然后返回一个排序列表的功能。
我在网上寻找帮助,发现了一个解决方案,但我甚至无法得到解决方案,因为预计会出现实际的类型错误。
这是我一直在试图代码:
module Main where
import Data.List
sortList :: (Ord a) => (a -> a -> Ordering) -> [a] -> [a]
sortList comparator list = sortBy comparator list
以下是错误:
*Main> sortList [5,4,2,7,8,1]
<interactive>:1:10:
Couldn't match expected type `a -> a -> Ordering'
with actual type `[t]'
In the first argument of `sortList', namely `[5, 4, 2, 7, ....]'
In the expression: sortList [5, 4, 2, 7, ....]
In an equation for `it': it = sortList [5, 4, 2, ....]
我的思考和尝试:
也许我我打电话功能错了吗?我对Haskell相当陌生。 II也尝试了许多搜索。我所能得出的结论是某处的类型不匹配。我想对剧本的解释和指导对我很有帮助。
好你的签名alrea dy说:调用'sortList'需要一个你没有提供的'比较器'... –