使用Numeric泛型进行Scala操作

时间:2017-06-29 18:28:04

标签: scala generics types numerics

我试图做的时候

def subtract[T: Numeric](x: T, y: T) : T = x-y

在Scala 2.12中,无法识别-。但是,这基本上等同于Addition with generic type parameter in Scala建议的内容。我需要改变什么?

1 个答案:

答案 0 :(得分:3)

最简单的事情是import Numeric.Implicits._。这会将标准中缀运算符-*等添加到当前隐式作用域。然后一切都应该按预期工作。

或者,您可以下拉隐式并直接使用它。

def subtract[T: Numeric](x: T, y: T) : T = implicitly[Numeric[T]].minus(x,y)