嘿大家我正在一塊Haskell代碼,並不能找出如何解決這個問題。Haskell數據類型困境
我得到這個錯誤:
Couldn't match expected type `Collection' with actual type `[a0]'
In the expression: [list] ++ numberToInsert
In an equation for `insert':
insert numberToInsert (Set [list])
| contains (Set [list]) numberToInsert == True = (Set [list])
| otherwise = [list] ++ numberToInsert
失敗,模塊加載:無。
這裏是我的代碼
data Collection = Set [Int] deriving (Show)
insert :: Int -> Collection -> Collection
insert numberToInsert (Set [list])
|contains (Set [list]) numberToInsert == True = (Set [list])
|otherwise = [list] ++ numberToInsert <--- this is my problem
contains :: Collection -> Int -> Bool
contains (Set []) numberToFind = False
contains (Set (x:xs)) numberToFind
|x == numberToFind = True
|otherwise = contains (Set (xs)) numberToFind
有人可以幫我解決這個問題?
謝謝
您是否收到錯誤?如果是這樣,你可以將它添加到你的問題? –
我更新了它。謝謝 – functionalCode
當問一個問題時,您應該嘗試詳細解釋問題是什麼,並且包含編譯器錯誤信息 - 我們不應該猜測爲什麼「這是您的問題」以及如何解決問題。此外,您可以提出有用的問題和答案,並接受令人滿意地解釋您自己的問題的問題。這有助於組織Stackoverflow。 – hugomg