我在尝试创建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
时,我收到更多错误消息。
我很感激一些建议。谢谢。
请还发布错误消息。 –