【发布时间】:2017-01-17 20:15:22
【问题描述】:
我是 Haskell 的新手,所以这个问题对大多数 Haskell 程序员来说应该是微不足道的:
我有一个函数digits :: Integer -> [Int],它将整数转换为其数字列表(123 到 [1,2,3])。现在要获得这些数字的总和,我在 ghci 中输入 sum $ digits 123 并且一切正常,它输出 6。但是,只要我在文件中创建如下函数,就会出现错误。这可能与 ghci 推断 123 的类型有关,但这还不够,我可以解决问题。
文本文件中的函数:
digitalSum :: Integer -> Int
digitalSum = sum $ digits
和错误:
* Couldn't match type `[Int]' with `Integer -> Int'
Expected type: Integer -> Integer -> Int
Actual type: Integer -> [Int]
* In the second argument of `($)', namely `digits'
In the expression: sum $ digits
In an equation for `digitalSum': digitalSum = sum $ digits
【问题讨论】:
标签: haskell