【发布时间】:2015-04-29 03:06:51
【问题描述】:
这是我迄今为止尝试过的:
implicit val doubleEq = TolerantNumerics.tolerantDoubleEquality(0.1)
implicit val listEq = new Equivalence[List[Double]] {
override def areEquivalent(a: List[Double], b: List[Double]): Boolean = {
(a, b) match {
case (Nil, Nil) => true
case (x :: xs, y :: ys) => x === y && areEquivalent(xs, ys)
case _ => false
}
}
}
第一个断言成功,但第二个失败:
assert(1.0 === 1.01)
assert(List(1.0) === List(1.01))
有没有办法让集合也使用我为其元素定义的隐式?
【问题讨论】: