我认为这应该是直截了当的:
import spire.math.Rational
val seq = Vector(Rational(1, 4), Rational(3, 4))
val sum = seq.sum // missing: scala.Numeric
val prod = seq.product // missing: scala.Numeric
我想这只是将正确的东西带入隐式范围的问题。但是我要导入什么?
我可以看到,为了得到一个RationalIsNumeric
,我必须做这样的事情:
import spire.math.Numeric._
implicit val err = new ApproximationContext(Rational(1, 192))
implicit val num = RationalIsNumeric
但这只是给了我一个spire.math.Numeric
. 所以我另外尝试了这个:
import spire.math.compat._
但没有运气...