我一直在寻找上帝知道多久,但无法让这段代码起作用:
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
答案 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
。