我一直在閱讀七週中的七種語言書籍,並正在與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'需要一個你沒有提供的'比較器'... –