nin*_*alt 4 haskell overloading
getNext a = if even a then a/2 else (3*a)+1
Run Code Online (Sandbox Code Playgroud)
由于某种原因,这行代码返回一个未解决的重载错误.
Main> getNext 13
ERROR - Unresolved overloading
*** Type : (Fractional a, Integral a) => a
Run Code Online (Sandbox Code Playgroud)
我做错了什么或我错过了什么?我很久没有使用过Haskell所以我可能忘记了一些事情.
你可能想要
a `div` 2
Run Code Online (Sandbox Code Playgroud)
而不是
a/2
Run Code Online (Sandbox Code Playgroud)
发生错误是因为even a暗示a是一个整数,但是使用非整数除法运算符/则另有说明.
| 归档时间: |
|
| 查看次数: |
600 次 |
| 最近记录: |