Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于数字运算的Haskell错误_Haskell - Fatal编程技术网

关于数字运算的Haskell错误

关于数字运算的Haskell错误,haskell,Haskell,我一直在搜索上帝知道有多长时间了,但无法让这段代码正常工作: solution n = 3/2*((n-n`mod`3)+3) 它可以编译,但当我调用它时,它会抛出两个错误,第一个是 No instance for (Integral a0) arising from a use of `solution' 这就是我想要实现的目标 solution 9 = 3/2* ((n-n`mod`3)+3) = 3/2 * ((9-0)+3) = 3/2 * (12) = 18 Haskell不允许

我一直在搜索上帝知道有多长时间了,但无法让这段代码正常工作:

solution n = 3/2*((n-n`mod`3)+3)
它可以编译,但当我调用它时,它会抛出两个错误,第一个是

No instance for (Integral a0) arising from a use of `solution'
这就是我想要实现的目标

solution 9 = 3/2* ((n-n`mod`3)+3) = 3/2 * ((9-0)+3) = 3/2 * (12) = 18

Haskell不允许您将
分数
3/2
)添加到
整数

((n - n `mod` 3) + 3)
没有明确告诉它您想通过向后者添加
from integral
来实现。所以

solution n = 3/2 * fromIntegral ((n-n`mod`3)+3)
应该有用

中的所有数值类型都有很好的概述。不过,我从来都不记得细节,而且大部分情况下只要在需要时添加一个
from integral