最近我一直在嘗試學習 Haskell,現在我遇到了以下問題:
-- sumList
sumList :: 串列 -> 整數
sumList l = sum l
現在我在 VS Code 中收到以下錯誤訊息:
{ "resource": "/home/santino/Studium_Informatik/Studium_Informatik/UnitTest/unittest.hs", "owner": "Haskell0", "code": "-Wdeferred-type-errors", "severity": 8, " message": "? 無法將型別 'List' 與 't0 Integer' 匹配\n 預期型別:List -> Integer\n 實際型別:t0 Integer -> Integer\n? 在運算式中:sum\n 在等式中對于“sumList”:sumList = sum”,“source”:“typecheck”,“startLineNumber”:22,“startColumn”:11,“endLineNumber”:22,“endColumn”:14 }
我試過用谷歌搜索這個問題,但我只能得到從整數到整數的結果,而不是從串列到整數。提前致謝!
uj5u.com熱心網友回復:
sumList :: [Integer] -> Integer
sumList l = sum l
由于錯誤訊息表明您需要向sum. 這是 的簽名sum:
λ> :t sum
sum :: (Foldable t, Num a) => t a -> a
它需要Foldable的NumS和回報Num。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/328984.html
下一篇:需要按特定順序從串列中獲取索引
