我在嘗試創建foldr
示例,該示例將Integral
轉換爲數字列表(即[Int]
)。對Haskell數字類型感到困惑
pickDigit num pos = (num `div` (10^pos)) `mod` 10
toDigits num = foldr (\pos acc -> (pickDigit num pos):acc) [] [0 .. floor (logBase 10 num)]
成功加載。但是,當我嘗試運行它時,例如
> toDigits 1234
我收到類型錯誤消息,我不明白。
當我向Haskell詢問加載代碼的類型並在源文件中明確包含這些類型時,我會在加載時收到錯誤消息。當我嘗試明確限制類型爲Integer
或Int
時,我收到更多錯誤消息。
我很感激一些建議。謝謝。
請還發布錯誤消息。 –