数字操作的Haskell错误

时间:2015-07-10 21:50:09

标签: 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

1 个答案:

答案 0 :(得分:2)

Haskell不允许您将rules2 <- apriori(data=trans,parameter=list(supp = .07,conf = 0.5,smax=6,minlen=3,maxlen=9,target = "rules"), appearance = list(default="lhs",rhs="CMDB"), control = list(verbose=F)) "Error in asMethod(object) : CMDB is an unknown item label" )添加到Fractional

3/2

没有通过向后者添加Integral明确告诉您要这样做。所以

((n - n `mod` 3) + 3)

应该有用。

Real World haskell中的所有数字类型都有很好的概述。我从来没有记住细节,大多数情况下只要在需要的时候添加fromIntegral