我遇到过几次这个错误。这是不言自明的,不匹配出现在我的 ans var 上,它是一个 Int,我相信它应该是这样,但是它需要 type prop。我觉得它与语法相关,我构建它的方式,但让我知道你的想法:
最佳答案
蕴涵运算符的签名是:
def ==>(p: ⇒ Prop): Prop
假设隐式转换在范围内,应该可以从 Boolean
构造一个 Prop
。因此,您只需要将 (ans == n*m)
括起来。否则 ==>
的参数将只是 ans
,即 Int
,它不能转换为 Prop
.
所需的隐式转换是:
implicit def propBoolean(b: Boolean): Prop
并且在对象 Prop
中,所以确保 import org.scalacheck.Prop.propBoolean
。
关于Scalacheck Prop 类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13276961/